aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc/CBuiltins.ml
diff options
context:
space:
mode:
authorBernhard Schommer <bschommer@users.noreply.github.com>2015-09-21 17:51:38 +0200
committerBernhard Schommer <bschommer@users.noreply.github.com>2015-09-21 17:51:38 +0200
commit4365eedb2d7529e670af2ef22e38da6bed38fd1a (patch)
treedc53a02144d9c8c4faec7fa54a626db5e143f402 /powerpc/CBuiltins.ml
parentdb0a62a01bbf90617701b68917319767159bf039 (diff)
parent3174d685154a1e0febf305d305fc79422a1adcd3 (diff)
downloadcompcert-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.ml11
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);
]
}