diff options
Diffstat (limited to 'test/Transforms/InstCombine/vec_shuffle.ll')
-rw-r--r-- | test/Transforms/InstCombine/vec_shuffle.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/vec_shuffle.ll b/test/Transforms/InstCombine/vec_shuffle.ll index 5ffe6c0437..2adc1c9693 100644 --- a/test/Transforms/InstCombine/vec_shuffle.ll +++ b/test/Transforms/InstCombine/vec_shuffle.ll @@ -185,3 +185,18 @@ define <2 x i8> @test13c(i8 %x1, i8 %x2) { %C = shufflevector <4 x i8> %B, <4 x i8> undef, <2 x i32> <i32 0, i32 2> ret <2 x i8> %C } + +define void @test14(i16 %conv10) { + %tmp = alloca <4 x i16>, align 8 + %vecinit6 = insertelement <4 x i16> undef, i16 23, i32 3 + store <4 x i16> %vecinit6, <4 x i16>* undef + %tmp1 = load <4 x i16>* undef + %vecinit11 = insertelement <4 x i16> undef, i16 %conv10, i32 3 + %div = udiv <4 x i16> %tmp1, %vecinit11 + store <4 x i16> %div, <4 x i16>* %tmp + %tmp4 = load <4 x i16>* %tmp + %tmp5 = shufflevector <4 x i16> %tmp4, <4 x i16> undef, <2 x i32> <i32 2, i32 0> + %cmp = icmp ule <2 x i16> %tmp5, undef + %sext = sext <2 x i1> %cmp to <2 x i16> + ret void +} |