From dcc06304afc9aa39792dea899a65d244985037da Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Thu, 18 May 2017 17:48:07 +0000 Subject: [PATCH] [InstCombine] move test and use better checks; NFC Previously, this test was checking for 'or i1', but that was actually matched by 'xor i1'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303364 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/InstCombine/2008-09-29-FoldingOr.ll | 10 ---------- test/Transforms/InstCombine/set.ll | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 10 deletions(-) delete mode 100644 test/Transforms/InstCombine/2008-09-29-FoldingOr.ll diff --git a/test/Transforms/InstCombine/2008-09-29-FoldingOr.ll b/test/Transforms/InstCombine/2008-09-29-FoldingOr.ll deleted file mode 100644 index 4d00d495a07..00000000000 --- a/test/Transforms/InstCombine/2008-09-29-FoldingOr.ll +++ /dev/null @@ -1,10 +0,0 @@ -; RUN: opt < %s -instcombine -S | grep "or i1" -; PR2844 - -define i32 @test(i32 %p_74) { - %A = icmp eq i32 %p_74, 0 ; [#uses=1] - %B = icmp slt i32 %p_74, -638208501 ; [#uses=1] - %or.cond = or i1 %A, %B ; [#uses=1] - %iftmp.10.0 = select i1 %or.cond, i32 0, i32 1 ; [#uses=1] - ret i32 %iftmp.10.0 -} diff --git a/test/Transforms/InstCombine/set.ll b/test/Transforms/InstCombine/set.ll index 84b2ae91fd4..443f17a5300 100644 --- a/test/Transforms/InstCombine/set.ll +++ b/test/Transforms/InstCombine/set.ll @@ -175,6 +175,23 @@ define i1 @xor_of_icmps(i64 %a) { ret i1 %xor } +; https://bugs.llvm.org/show_bug.cgi?id=2844 + +define i32 @PR2844(i32 %x) { +; CHECK-LABEL: @PR2844( +; CHECK-NEXT: [[A:%.*]] = icmp eq i32 %x, 0 +; CHECK-NEXT: [[B:%.*]] = icmp sgt i32 %x, -638208502 +; CHECK-NEXT: [[NOT_OR:%.*]] = xor i1 [[A]], [[B]] +; CHECK-NEXT: [[SEL:%.*]] = zext i1 [[NOT_OR]] to i32 +; CHECK-NEXT: ret i32 [[SEL]] +; + %A = icmp eq i32 %x, 0 + %B = icmp slt i32 %x, -638208501 + %or = or i1 %A, %B + %sel = select i1 %or, i32 0, i32 1 + ret i32 %sel +} + define i1 @test16(i32 %A) { ; CHECK-LABEL: @test16( ; CHECK-NEXT: ret i1 false -- 2.11.0