diff options
author | Dehao Chen <dehao@google.com> | 2016-10-19 01:18:25 +0000 |
---|---|---|
committer | Dehao Chen <dehao@google.com> | 2016-10-19 01:18:25 +0000 |
commit | 625e9e7e618680152caa0271da84913ed34b1dd0 (patch) | |
tree | bfbe1c10d8ee0c47ccf0817f5ca0e65d30d142e0 /test/CodeGen/ARM/atomic-cmpxchg.ll | |
parent | 97cd3dc16a7982de041f9035d465cf4a56612b4c (diff) |
Revert r284545 again as the regression in ppc still exists. There is bug in MBPI exposed by th patch.
Also update the section.ll to fix non-x86 failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284563 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/atomic-cmpxchg.ll')
-rw-r--r-- | test/CodeGen/ARM/atomic-cmpxchg.ll | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/test/CodeGen/ARM/atomic-cmpxchg.ll b/test/CodeGen/ARM/atomic-cmpxchg.ll index 364bd5d1369..32cdf4174dd 100644 --- a/test/CodeGen/ARM/atomic-cmpxchg.ll +++ b/test/CodeGen/ARM/atomic-cmpxchg.ll @@ -38,14 +38,16 @@ entry: ; CHECK-ARMV6-NEXT: uxtb [[DESIRED:r[0-9]+]], r1 ; CHECK-ARMV6-NEXT: [[TRY:.LBB[0-9_]+]]: ; CHECK-ARMV6-NEXT: ldrexb [[LD:r[0-9]+]], [r0] +; CHECK-ARMV6-NEXT: mov [[RES:r[0-9]+]], #0 ; CHECK-ARMV6-NEXT: cmp [[LD]], [[DESIRED]] -; CHECK-ARMV6-NEXT: movne [[RES:r[0-9]+]], #0 -; CHECK-ARMV6-NEXT: bxne lr +; CHECK-ARMV6-NEXT: bne [[END:.LBB[0-9_]+]] ; CHECK-ARMV6-NEXT: strexb [[SUCCESS:r[0-9]+]], r2, [r0] +; CHECK-ARMV6-NEXT: mov [[RES]], #1 ; CHECK-ARMV6-NEXT: cmp [[SUCCESS]], #0 -; CHECK-ARMV6-NEXT: moveq [[RES]], #1 -; CHECK-ARMV6-NEXT: bxeq lr -; CHECK-ARMV6-NEXT: b [[TRY]] +; CHECK-ARMV6-NEXT: bne [[TRY]] +; CHECK-ARMV6-NEXT: [[END]]: +; CHECK-ARMV6-NEXT: mov r0, [[RES]] +; CHECK-ARMV6-NEXT: bx lr ; CHECK-THUMBV6-LABEL: test_cmpxchg_res_i8: ; CHECK-THUMBV6: mov [[EXPECTED:r[0-9]+]], r1 @@ -62,18 +64,20 @@ entry: ; CHECK-ARMV7-LABEL: test_cmpxchg_res_i8: ; CHECK-ARMV7-NEXT: .fnstart ; CHECK-ARMV7-NEXT: uxtb [[DESIRED:r[0-9]+]], r1 -; CHECK-ARMV7-NEXT: b [[TRY:.LBB[0-9_]+]] -; CHECK-ARMV7-NEXT: [[HEAD:.LBB[0-9_]+]]: -; CHECK-ARMV7-NEXT: strexb [[SUCCESS:r[0-9]+]], r2, [r0] -; CHECK-ARMV7-NEXT: cmp [[SUCCESS]], #0 -; CHECK-ARMV7-NEXT: moveq [[RES:r[0-9]+]], #1 -; CHECK-ARMV7-NEXT: bxeq lr -; CHECK-ARMV7-NEXT: [[TRY]]: +; CHECK-ARMV7-NEXT: [[TRY:.LBB[0-9_]+]]: ; CHECK-ARMV7-NEXT: ldrexb [[LD:r[0-9]+]], [r0] ; CHECK-ARMV7-NEXT: cmp [[LD]], [[DESIRED]] -; CHECK-ARMV7-NEXT: beq [[HEAD]] +; CHECK-ARMV7-NEXT: bne [[FAIL:.LBB[0-9_]+]] +; CHECK-ARMV7-NEXT: strexb [[SUCCESS:r[0-9]+]], r2, [r0] +; CHECK-ARMV7-NEXT: mov [[RES:r[0-9]+]], #1 +; CHECK-ARMV7-NEXT: cmp [[SUCCESS]], #0 +; CHECK-ARMV7-NEXT: bne [[TRY]] +; CHECK-ARMV7-NEXT: b [[END:.LBB[0-9_]+]] +; CHECK-ARMV7-NEXT: [[FAIL]]: ; CHECK-ARMV7-NEXT: clrex ; CHECK-ARMV7-NEXT: mov [[RES]], #0 +; CHECK-ARMV7-NEXT: [[END]]: +; CHECK-ARMV7-NEXT: mov r0, [[RES]] ; CHECK-ARMV7-NEXT: bx lr ; CHECK-THUMBV7-LABEL: test_cmpxchg_res_i8: |