From 296a776a5bb58e1ae988175422631a22aba45805 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Fri, 22 Jul 2016 20:11:08 +0000 Subject: [PATCH] add tests for icmp vector folds llvm-svn: 276464 --- llvm/test/Transforms/InstCombine/icmp.ll | 13 +++++++++++++ llvm/test/Transforms/InstCombine/rem.ll | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/llvm/test/Transforms/InstCombine/icmp.ll b/llvm/test/Transforms/InstCombine/icmp.ll index 4575e10..158ef09 100644 --- a/llvm/test/Transforms/InstCombine/icmp.ll +++ b/llvm/test/Transforms/InstCombine/icmp.ll @@ -955,6 +955,19 @@ define i1 @test70(i32 %X) { ret i1 %C } +; FIXME: Vectors should fold the same way. + +define <2 x i1> @test70vec(<2 x i32> %X) { +; CHECK-LABEL: @test70vec( +; CHECK-NEXT: [[B:%.*]] = add <2 x i32> %X, +; CHECK-NEXT: [[C:%.*]] = icmp ne <2 x i32> [[B]], +; CHECK-NEXT: ret <2 x i1> [[C]] +; + %B = add <2 x i32> %X, + %C = icmp ne <2 x i32> %B, + ret <2 x i1> %C +} + define i1 @icmp_sext16trunc(i32 %x) { ; CHECK-LABEL: @icmp_sext16trunc( ; CHECK-NEXT: [[TMP1:%.*]] = trunc i32 %x to i16 diff --git a/llvm/test/Transforms/InstCombine/rem.ll b/llvm/test/Transforms/InstCombine/rem.ll index ae331ee..cd3c937 100644 --- a/llvm/test/Transforms/InstCombine/rem.ll +++ b/llvm/test/Transforms/InstCombine/rem.ll @@ -53,6 +53,19 @@ define i1 @test3a(i32 %A) { ret i1 %C } +; FIXME: Vectors should fold the same way. + +define <2 x i1> @test3a_vec(<2 x i32> %A) { +; CHECK-LABEL: @test3a_vec( +; CHECK-NEXT: [[B:%.*]] = srem <2 x i32> %A, +; CHECK-NEXT: [[C:%.*]] = icmp ne <2 x i32> [[B]], zeroinitializer +; CHECK-NEXT: ret <2 x i1> [[C]] +; + %B = srem <2 x i32> %A, + %C = icmp ne <2 x i32> %B, zeroinitializer + ret <2 x i1> %C +} + define i32 @test4(i32 %X, i1 %C) { ; CHECK-LABEL: @test4( ; CHECK-NEXT: [[SEL:%.*]] = select i1 %C, i32 0, i32 7 -- 2.7.4