summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/PowerPC
diff options
context:
space:
mode:
authorEli Friedman <efriedma@codeaurora.org>2018-01-17 22:04:36 +0000
committerEli Friedman <efriedma@codeaurora.org>2018-01-17 22:04:36 +0000
commitc60a23a6af421dfd43c10a898d65819317523e31 (patch)
tree78a40fe78367422725b03b2378d4e432842b090b /llvm/test/CodeGen/PowerPC
parenta75d53c83f8afbfc107da37774a13908e8718276 (diff)
downloadbcm5719-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.ll8
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:
OpenPOWER on IntegriCloud