diff options
| author | Eli Friedman <efriedma@codeaurora.org> | 2018-10-31 21:45:48 +0000 |
|---|---|---|
| committer | Eli Friedman <efriedma@codeaurora.org> | 2018-10-31 21:45:48 +0000 |
| commit | 063fd98bcc06e49009df8cbd18484a81a612aeb6 (patch) | |
| tree | c47b4a57cf874087af9d78caa3af67ccb3e9202e /llvm/test/CodeGen/ARM/atomic-cmpxchg.ll | |
| parent | e5f13519d4a6e196d5b714b6233b9fc875cbee9b (diff) | |
| download | bcm5719-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.ll | 6 |
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: |

