From 32d667e940bcc9af0168f01ba5594c2640790cc1 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Fri, 30 Sep 2016 19:15:41 +0000 Subject: [PATCH] [InstCombine] add tests for non-splat select(ext) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282901 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/InstCombine/select-bitext.ll | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/Transforms/InstCombine/select-bitext.ll b/test/Transforms/InstCombine/select-bitext.ll index 34e260a286d..f259981f0f2 100644 --- a/test/Transforms/InstCombine/select-bitext.ll +++ b/test/Transforms/InstCombine/select-bitext.ll @@ -166,6 +166,17 @@ define <2 x i32> @test_vectors_sext(<2 x i1> %cca, <2 x i1> %ccb) { ret <2 x i32> %r } +define <2 x i32> @test_vectors_sext_nonsplat(<2 x i1> %cca, <2 x i1> %ccb) { +; CHECK-LABEL: @test_vectors_sext_nonsplat( +; CHECK-NEXT: [[CCAX:%.*]] = sext <2 x i1> %cca to <2 x i32> +; CHECK-NEXT: [[R:%.*]] = select <2 x i1> %ccb, <2 x i32> [[CCAX]], <2 x i32> +; CHECK-NEXT: ret <2 x i32> [[R]] +; + %ccax = sext <2 x i1> %cca to <2 x i32> + %r = select <2 x i1> %ccb, <2 x i32> %ccax, <2 x i32> + ret <2 x i32> %r +} + define <2 x i32> @test_vectors_zext(<2 x i1> %cca, <2 x i1> %ccb) { ; CHECK-LABEL: @test_vectors_zext( ; CHECK-NEXT: [[FOLD_R:%.*]] = and <2 x i1> %ccb, %cca @@ -177,6 +188,17 @@ define <2 x i32> @test_vectors_zext(<2 x i1> %cca, <2 x i1> %ccb) { ret <2 x i32> %r } +define <2 x i32> @test_vectors_zext_nonsplat(<2 x i1> %cca, <2 x i1> %ccb) { +; CHECK-LABEL: @test_vectors_zext_nonsplat( +; CHECK-NEXT: [[CCAX:%.*]] = zext <2 x i1> %cca to <2 x i32> +; CHECK-NEXT: [[R:%.*]] = select <2 x i1> %ccb, <2 x i32> [[CCAX]], <2 x i32> +; CHECK-NEXT: ret <2 x i32> [[R]] +; + %ccax = zext <2 x i1> %cca to <2 x i32> + %r = select <2 x i1> %ccb, <2 x i32> %ccax, <2 x i32> + ret <2 x i32> %r +} + define <2 x i32> @scalar_select_of_vectors_sext(<2 x i1> %cca, i1 %ccb) { ; CHECK-LABEL: @scalar_select_of_vectors_sext( ; CHECK-NEXT: [[FOLD_R:%.*]] = select i1 %ccb, <2 x i1> %cca, <2 x i1> zeroinitializer -- 2.11.0