diff options
| author | Eli Friedman <efriedma@codeaurora.org> | 2018-01-17 22:04:36 +0000 |
|---|---|---|
| committer | Eli Friedman <efriedma@codeaurora.org> | 2018-01-17 22:04:36 +0000 |
| commit | c60a23a6af421dfd43c10a898d65819317523e31 (patch) | |
| tree | 78a40fe78367422725b03b2378d4e432842b090b /llvm/test/CodeGen/PowerPC | |
| parent | a75d53c83f8afbfc107da37774a13908e8718276 (diff) | |
| download | bcm5719-llvm-c60a23a6af421dfd43c10a898d65819317523e31.tar.gz bcm5719-llvm-c60a23a6af421dfd43c10a898d65819317523e31.zip | |
[LegalizeDAG] Fix ATOMIC_CMP_SWAP_WITH_SUCCESS legalization.
The code wasn't zero-extending correctly, so the comparison could
spuriously fail.
Adds some AArch64 tests to cover this case.
Inspired by D41791.
Differential Revision: https://reviews.llvm.org/D41798
llvm-svn: 322767
Diffstat (limited to 'llvm/test/CodeGen/PowerPC')
| -rw-r--r-- | llvm/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/llvm/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll b/llvm/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll index 19d5e19df84..093899690d0 100644 --- a/llvm/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll +++ b/llvm/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll @@ -26,9 +26,7 @@ define signext i32 @main() { ; CHECK: .LBB0_3: # %L.entry ; CHECK: sthcx. 3, 0, 5 ; CHECK: .LBB0_4: # %L.entry -; Once D41798 lands, this should be the check: -; FIXME: cmplwi 3, 33059 -; CHECK: cmpwi 3, -32477 +; CHECK: cmplwi 3, 33059 ; CHECK: lwsync ; CHECK: lhz 3, 46(1) ; CHECK: cmplwi 3, 234 @@ -64,9 +62,7 @@ define signext i32 @main() { ; CHECK-P7: .LBB0_4: # %L.entry ; CHECK-P7: srw 3, 6, 3 ; CHECK-P7: lwsync -; Once D41798 lands, this should be the check: -; FIXME: cmplwi 3, 33059 -; CHECK-P7: cmpwi 3, -32477 +; CHECK-P7: cmplwi 3, 33059 ; CHECK-P7: lhz 3, 46(1) ; CHECK-P7: cmplwi 3, 234 L.entry: |

