From fd0e24d7eaabf7bfa9298514aa2db4d27cc24e0b Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Thu, 12 Jul 2018 14:56:17 +0000 Subject: [PATCH] [InstCombine] icmp-logical.ll: restore the original intention of the test. 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 | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/test/Transforms/InstCombine/icmp-logical.ll b/test/Transforms/InstCombine/icmp-logical.ll index 4d6f09db410..f6f552a32c2 100644 --- a/test/Transforms/InstCombine/icmp-logical.ll +++ b/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 -- 2.50.1