diff options
-rw-r--r-- | llvm/test/Transforms/InstCombine/icmp-logical.ll | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/llvm/test/Transforms/InstCombine/icmp-logical.ll b/llvm/test/Transforms/InstCombine/icmp-logical.ll index 4d6f09db410..f6f552a32c2 100644 --- a/llvm/test/Transforms/InstCombine/icmp-logical.ll +++ b/llvm/test/Transforms/InstCombine/icmp-logical.ll @@ -59,15 +59,13 @@ define i1 @masked_or_allones(i32 %A) { define i1 @masked_and_notA(i32 %A) { ; CHECK-LABEL: @masked_and_notA( -; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt i32 [[A:%.*]], 7 -; CHECK-NEXT: [[MASK2:%.*]] = and i32 [[A]], 39 +; CHECK-NEXT: [[MASK2:%.*]] = and i32 [[A:%.*]], 78 ; CHECK-NEXT: [[TST2:%.*]] = icmp ne i32 [[MASK2]], [[A]] -; CHECK-NEXT: [[RES:%.*]] = and i1 [[TMP1]], [[TST2]] -; CHECK-NEXT: ret i1 [[RES]] +; CHECK-NEXT: ret i1 [[TST2]] ; - %mask1 = and i32 %A, 7 + %mask1 = and i32 %A, 14 %tst1 = icmp ne i32 %mask1, %A - %mask2 = and i32 %A, 39 + %mask2 = and i32 %A, 78 %tst2 = icmp ne i32 %mask2, %A %res = and i1 %tst1, %tst2 ret i1 %res @@ -90,15 +88,13 @@ define i1 @masked_and_notA_slightly_optimized(i32 %A) { define i1 @masked_or_A(i32 %A) { ; CHECK-LABEL: @masked_or_A( -; CHECK-NEXT: [[TMP1:%.*]] = icmp ult i32 [[A:%.*]], 8 -; CHECK-NEXT: [[MASK2:%.*]] = and i32 [[A]], 39 +; CHECK-NEXT: [[MASK2:%.*]] = and i32 [[A:%.*]], 78 ; CHECK-NEXT: [[TST2:%.*]] = icmp eq i32 [[MASK2]], [[A]] -; CHECK-NEXT: [[RES:%.*]] = or i1 [[TMP1]], [[TST2]] -; CHECK-NEXT: ret i1 [[RES]] +; CHECK-NEXT: ret i1 [[TST2]] ; - %mask1 = and i32 %A, 7 + %mask1 = and i32 %A, 14 %tst1 = icmp eq i32 %mask1, %A - %mask2 = and i32 %A, 39 + %mask2 = and i32 %A, 78 %tst2 = icmp eq i32 %mask2, %A %res = or i1 %tst1, %tst2 ret i1 %res |