summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/atomic-cmpxchg.ll
diff options
context:
space:
mode:
authorEli Friedman <efriedma@codeaurora.org>2018-10-31 21:45:48 +0000
committerEli Friedman <efriedma@codeaurora.org>2018-10-31 21:45:48 +0000
commit063fd98bcc06e49009df8cbd18484a81a612aeb6 (patch)
treec47b4a57cf874087af9d78caa3af67ccb3e9202e /llvm/test/CodeGen/ARM/atomic-cmpxchg.ll
parente5f13519d4a6e196d5b714b6233b9fc875cbee9b (diff)
downloadbcm5719-llvm-063fd98bcc06e49009df8cbd18484a81a612aeb6.tar.gz
bcm5719-llvm-063fd98bcc06e49009df8cbd18484a81a612aeb6.zip
[ARM] Add missing pseudo-instruction for Thumb1 RSBS.
Shows up rarely for 64-bit arithmetic, more frequently for the compare patterns added in r325323. Differential Revision: https://reviews.llvm.org/D53848 llvm-svn: 345782
Diffstat (limited to 'llvm/test/CodeGen/ARM/atomic-cmpxchg.ll')
-rw-r--r--llvm/test/CodeGen/ARM/atomic-cmpxchg.ll6
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/ARM/atomic-cmpxchg.ll b/llvm/test/CodeGen/ARM/atomic-cmpxchg.ll
index fd87e50d0b7..b5214f8d67e 100644
--- a/llvm/test/CodeGen/ARM/atomic-cmpxchg.ll
+++ b/llvm/test/CodeGen/ARM/atomic-cmpxchg.ll
@@ -24,8 +24,7 @@ entry:
; CHECK-THUMB: bl __sync_val_compare_and_swap_1
; CHECK-THUMB-NOT: mov [[R1:r[0-7]]], r0
; CHECK-THUMB: subs [[R1:r[0-7]]], r0, {{r[0-9]+}}
-; CHECK-THUMB: movs r0, #0
-; CHECK-THUMB: subs r0, r0, [[R1]]
+; CHECK-THUMB: rsbs r0, [[R1]], #0
; CHECK-THUMB: adcs r0, [[R1]]
; CHECK-ARMV6-LABEL: test_cmpxchg_res_i8:
@@ -47,8 +46,7 @@ entry:
; CHECK-THUMBV6-NEXT: bl __sync_val_compare_and_swap_1
; CHECK-THUMBV6-NEXT: uxtb r1, r4
; CHECK-THUMBV6-NEXT: subs [[R1:r[0-7]]], r0, {{r[0-9]+}}
-; CHECK-THUMBV6-NEXT: movs r0, #0
-; CHECK-THUMBV6-NEXT: subs r0, r0, [[R1]]
+; CHECK-THUMBV6-NEXT: rsbs r0, [[R1]], #0
; CHECK-THUMBV6-NEXT: adcs r0, [[R1]]
; CHECK-ARMV7-LABEL: test_cmpxchg_res_i8:
OpenPOWER on IntegriCloud