summaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-09-19 22:02:33 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-09-19 22:02:33 +0000
commit17569fe05b9e22ab7de4c73252ce811092f1b7b2 (patch)
treeb840aba99478310326bda9c47ce321a5702b4d17 /test/CodeGen/ARM
parentc6b8ba86738cb6187835e440f2baafaa24dea0b2 (diff)
downloadllvm-17569fe05b9e22ab7de4c73252ce811092f1b7b2.tar.gz
llvm-17569fe05b9e22ab7de4c73252ce811092f1b7b2.tar.bz2
llvm-17569fe05b9e22ab7de4c73252ce811092f1b7b2.tar.xz
Some additional tests for Thumb atomic load and store (which I somehow forgot to commit earlier).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140074 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM')
-rw-r--r--test/CodeGen/ARM/atomic-load-store.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/atomic-load-store.ll b/test/CodeGen/ARM/atomic-load-store.ll
index 72f19a4d27..12a8fe4cd8 100644
--- a/test/CodeGen/ARM/atomic-load-store.ll
+++ b/test/CodeGen/ARM/atomic-load-store.ll
@@ -35,7 +35,22 @@ define void @test3(i8* %ptr1, i8* %ptr2) {
; ARM: test3
; ARM: ldrb
; ARM: strb
+; THUMBTWO: test3
+; THUMBTWO: ldrb
+; THUMBTWO: strb
+; THUMBONE: test3
+; THUMBONE: ldrb
+; THUMBONE: strb
%val = load atomic i8* %ptr1 unordered, align 1
store atomic i8 %val, i8* %ptr2 unordered, align 1
ret void
}
+
+define void @test4(i8* %ptr1, i8* %ptr2) {
+; THUMBONE: test4
+; THUMBONE: ___sync_val_compare_and_swap_1
+; THUMBONE: ___sync_lock_test_and_set_1
+ %val = load atomic i8* %ptr1 seq_cst, align 1
+ store atomic i8 %val, i8* %ptr2 seq_cst, align 1
+ ret void
+}