summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll34
1 files changed, 14 insertions, 20 deletions
diff --git a/llvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll b/llvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
index 584c9ea40f5..a48a42ee918 100644
--- a/llvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
+++ b/llvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
@@ -21,8 +21,7 @@ define signext i32 @zeroEqualityTest02(i8* %x, i8* %y) {
; CHECK-NEXT: lwz 3, 0(3)
; CHECK-NEXT: lwz 4, 0(4)
; CHECK-NEXT: li 5, 1
-; CHECK-NEXT: xor 3, 3, 4
-; CHECK-NEXT: cmplwi 3, 0
+; CHECK-NEXT: cmpld 3, 4
; CHECK-NEXT: isel 3, 0, 5, 2
; CHECK-NEXT: clrldi 3, 3, 32
; CHECK-NEXT: blr
@@ -38,19 +37,19 @@ define signext i32 @zeroEqualityTest01(i8* %x, i8* %y) {
; CHECK: # BB#0: # %loadbb
; CHECK-NEXT: ld 5, 0(3)
; CHECK-NEXT: ld 6, 0(4)
-; CHECK-NEXT: xor. 5, 5, 6
+; CHECK-NEXT: cmpld 5, 6
; CHECK-NEXT: bne 0, .LBB1_2
; CHECK-NEXT: # BB#1: # %loadbb1
; CHECK-NEXT: ld 3, 8(3)
; CHECK-NEXT: ld 4, 8(4)
-; CHECK-NEXT: xor. 3, 3, 4
+; CHECK-NEXT: cmpld 3, 4
+; CHECK-NEXT: li 3, 0
; CHECK-NEXT: beq 0, .LBB1_3
; CHECK-NEXT: .LBB1_2: # %res_block
; CHECK-NEXT: li 3, 1
; CHECK-NEXT: clrldi 3, 3, 32
; CHECK-NEXT: blr
-; CHECK-NEXT: .LBB1_3:
-; CHECK-NEXT: li 3, 0
+; CHECK-NEXT: .LBB1_3: # %endblock
; CHECK-NEXT: clrldi 3, 3, 32
; CHECK-NEXT: blr
%call = tail call signext i32 @memcmp(i8* %x, i8* %y, i64 16)
@@ -65,27 +64,24 @@ define signext i32 @zeroEqualityTest03(i8* %x, i8* %y) {
; CHECK: # BB#0: # %loadbb
; CHECK-NEXT: lwz 5, 0(3)
; CHECK-NEXT: lwz 6, 0(4)
-; CHECK-NEXT: xor 5, 5, 6
-; CHECK-NEXT: cmplwi 5, 0
+; CHECK-NEXT: cmpld 5, 6
; CHECK-NEXT: bne 0, .LBB2_3
; CHECK-NEXT: # BB#1: # %loadbb1
; CHECK-NEXT: lhz 5, 4(3)
; CHECK-NEXT: lhz 6, 4(4)
-; CHECK-NEXT: xor 5, 5, 6
-; CHECK-NEXT: rlwinm. 5, 5, 0, 16, 31
+; CHECK-NEXT: cmpld 5, 6
; CHECK-NEXT: bne 0, .LBB2_3
; CHECK-NEXT: # BB#2: # %loadbb2
; CHECK-NEXT: lbz 3, 6(3)
; CHECK-NEXT: lbz 4, 6(4)
-; CHECK-NEXT: xor 3, 3, 4
-; CHECK-NEXT: rlwinm. 3, 3, 0, 24, 31
+; CHECK-NEXT: cmpld 3, 4
+; CHECK-NEXT: li 3, 0
; CHECK-NEXT: beq 0, .LBB2_4
; CHECK-NEXT: .LBB2_3: # %res_block
; CHECK-NEXT: li 3, 1
; CHECK-NEXT: clrldi 3, 3, 32
; CHECK-NEXT: blr
-; CHECK-NEXT: .LBB2_4:
-; CHECK-NEXT: li 3, 0
+; CHECK-NEXT: .LBB2_4: # %endblock
; CHECK-NEXT: clrldi 3, 3, 32
; CHECK-NEXT: blr
%call = tail call signext i32 @memcmp(i8* %x, i8* %y, i64 7)
@@ -178,24 +174,22 @@ define signext i32 @zeroEqualityTest06() {
; CHECK-NEXT: addis 4, 2, .LzeroEqualityTest04.buffer2@toc@ha
; CHECK-NEXT: ld 3, .LzeroEqualityTest04.buffer1@toc@l(3)
; CHECK-NEXT: ld 4, .LzeroEqualityTest04.buffer2@toc@l(4)
-; CHECK-NEXT: xor. 3, 3, 4
+; CHECK-NEXT: cmpld 3, 4
; CHECK-NEXT: bne 0, .LBB5_2
; CHECK-NEXT: # BB#1: # %loadbb1
; CHECK-NEXT: addis 3, 2, .LzeroEqualityTest04.buffer1@toc@ha+8
; CHECK-NEXT: addis 4, 2, .LzeroEqualityTest04.buffer2@toc@ha+8
; CHECK-NEXT: ld 3, .LzeroEqualityTest04.buffer1@toc@l+8(3)
; CHECK-NEXT: ld 4, .LzeroEqualityTest04.buffer2@toc@l+8(4)
-; CHECK-NEXT: xor. 3, 3, 4
-; CHECK-NEXT: beq 0, .LBB5_4
+; CHECK-NEXT: cmpld 3, 4
+; CHECK-NEXT: li 3, 0
+; CHECK-NEXT: beq 0, .LBB5_3
; CHECK-NEXT: .LBB5_2: # %res_block
; CHECK-NEXT: li 3, 1
; CHECK-NEXT: .LBB5_3: # %endblock
; CHECK-NEXT: cntlzw 3, 3
; CHECK-NEXT: srwi 3, 3, 5
; CHECK-NEXT: blr
-; CHECK-NEXT: .LBB5_4:
-; CHECK-NEXT: li 3, 0
-; CHECK-NEXT: b .LBB5_3
%call = tail call signext i32 @memcmp(i8* bitcast ([15 x i32]* @zeroEqualityTest04.buffer1 to i8*), i8* bitcast ([15 x i32]* @zeroEqualityTest04.buffer2 to i8*), i64 16)
%not.tobool = icmp eq i32 %call, 0
%cond = zext i1 %not.tobool to i32
OpenPOWER on IntegriCloud