diff options
author | Bernhard Schommer <bschommer@users.noreply.github.com> | 2015-09-21 17:51:38 +0200 |
---|---|---|
committer | Bernhard Schommer <bschommer@users.noreply.github.com> | 2015-09-21 17:51:38 +0200 |
commit | 4365eedb2d7529e670af2ef22e38da6bed38fd1a (patch) | |
tree | dc53a02144d9c8c4faec7fa54a626db5e143f402 /powerpc/CBuiltins.ml | |
parent | db0a62a01bbf90617701b68917319767159bf039 (diff) | |
parent | 3174d685154a1e0febf305d305fc79422a1adcd3 (diff) | |
download | compcert-4365eedb2d7529e670af2ef22e38da6bed38fd1a.tar.gz compcert-4365eedb2d7529e670af2ef22e38da6bed38fd1a.zip |
Merge pull request #54 from AbsInt/atomic-builtins
Atomic builtins
Diffstat (limited to 'powerpc/CBuiltins.ml')
-rw-r--r-- | powerpc/CBuiltins.ml | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/powerpc/CBuiltins.ml b/powerpc/CBuiltins.ml index 1bb8c6f7..a9e4f5e3 100644 --- a/powerpc/CBuiltins.ml +++ b/powerpc/CBuiltins.ml @@ -118,7 +118,16 @@ let builtins = { (TPtr (TVoid [],[]),[],false); (* isel *) "__builtin_isel", - (TInt (IInt, []),[TInt(IBool, []);TInt(IInt, []);TInt(IInt, [])],false) + (TInt (IInt, []),[TInt(IBool, []);TInt(IInt, []);TInt(IInt, [])],false); + (* atomic operations *) + "__builtin_atomic_exchange", + (TVoid [], [TPtr (TInt(IInt, []),[]);TPtr (TInt(IInt, []),[]);TPtr (TInt(IInt, []),[])],false); + "__builtin_atomic_load", + (TVoid [], [TPtr (TInt(IInt, []),[]);TPtr (TInt(IInt, []),[])],false); + "__builtin_atomic_compare_exchange", + (TInt (IBool, []), [TPtr (TInt(IInt, []),[]);TPtr (TInt(IInt, []),[]);TPtr (TInt(IInt, []),[])],false); + "__builtin_sync_fetch_and_add", + (TInt (IInt, []), [TPtr (TInt(IInt, []),[]);TInt(IInt, [])],false); ] } |