Some additional tests for Thumb atomic load and store (which I somehow forgot to...
authorEli Friedman <eli.friedman@gmail.com>
Mon, 19 Sep 2011 22:02:33 +0000 (22:02 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Mon, 19 Sep 2011 22:02:33 +0000 (22:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140074 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/ARM/atomic-load-store.ll

index 72f19a4d274f7139cf6eca201eb46b6b2136160c..12a8fe4cd884fd0d2d9753c681c4b30db2d8aa07 100644 (file)
@@ -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
+}