]> granicus.if.org Git - llvm/commitdiff
[InstCombine] icmp-logical.ll: restore the original intention of the test.
authorRoman Lebedev <lebedev.ri@gmail.com>
Thu, 12 Jul 2018 14:56:17 +0000 (14:56 +0000)
committerRoman Lebedev <lebedev.ri@gmail.com>
Thu, 12 Jul 2018 14:56:17 +0000 (14:56 +0000)
While that fold is clearly not happening [anymore],
we do now have separate test cases for these cases,
so we should be ok to slightly adjust these tests
to not potentially loose test coverage.

As suggested by Hiroshi Yamauchi in
https://reviews.llvm.org/D49179#1159345

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336912 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/icmp-logical.ll

index 4d6f09db4101793373618b47a1b98086388a6b18..f6f552a32c2c1648ee8c3ca70bfe4716db6f8561 100644 (file)
@@ -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