summaryrefslogtreecommitdiffstats
path: root/libclc/generic/lib/atomic
diff options
context:
space:
mode:
authorAaron Watry <awatry@gmail.com>2013-09-05 16:04:01 +0000
committerAaron Watry <awatry@gmail.com>2013-09-05 16:04:01 +0000
commit50a7bcbac92afc472f381f4dde694a613f411daf (patch)
tree4e7bc5551942abe06081ea5b42726ae404a478c7 /libclc/generic/lib/atomic
parent785ee472a35148486f024c85191df8364ed4f35d (diff)
downloadbcm5719-llvm-50a7bcbac92afc472f381f4dde694a613f411daf.tar.gz
bcm5719-llvm-50a7bcbac92afc472f381f4dde694a613f411daf.zip
Add atomic_inc and atomic_add builtins
Reviewed-by: Aaron Watry <awatry@gmail.com> llvm-svn: 190058
Diffstat (limited to 'libclc/generic/lib/atomic')
-rw-r--r--libclc/generic/lib/atomic/atomic_impl.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/libclc/generic/lib/atomic/atomic_impl.ll b/libclc/generic/lib/atomic/atomic_impl.ll
new file mode 100644
index 00000000000..c11383be983
--- /dev/null
+++ b/libclc/generic/lib/atomic/atomic_impl.ll
@@ -0,0 +1,11 @@
+define i32 @__clc_atomic_add_addr1(i32 addrspace(1)* nocapture %ptr, i32 %value) nounwind alwaysinline {
+entry:
+ %0 = atomicrmw volatile add i32 addrspace(1)* %ptr, i32 %value seq_cst
+ ret i32 %0
+}
+
+define i32 @__clc_atomic_add_addr3(i32 addrspace(3)* nocapture %ptr, i32 %value) nounwind alwaysinline {
+entry:
+ %0 = atomicrmw volatile add i32 addrspace(3)* %ptr, i32 %value seq_cst
+ ret i32 %0
+}
OpenPOWER on IntegriCloud