diff options
| author | Nick Lewycky <nicholas@mxc.ca> | 2013-05-31 00:59:42 +0000 |
|---|---|---|
| committer | Nick Lewycky <nicholas@mxc.ca> | 2013-05-31 00:59:42 +0000 |
| commit | a2b7720618b7cadb6e8dd07941261a0bf6837986 (patch) | |
| tree | 889996bb392ab599902ed170b0dd11225521384a /llvm/test/Transforms | |
| parent | 615c076fc1214a600446289d9a30056f90e05c2d (diff) | |
| download | bcm5719-llvm-a2b7720618b7cadb6e8dd07941261a0bf6837986.tar.gz bcm5719-llvm-a2b7720618b7cadb6e8dd07941261a0bf6837986.zip | |
Reapply with r182909 with a fix to the calculation of the new indices for
insertelement instructions.
llvm-svn: 182976
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/vec_shuffle.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/vec_shuffle.ll b/llvm/test/Transforms/InstCombine/vec_shuffle.ll index 8f78c2e6bd5..4b7a049baec 100644 --- a/llvm/test/Transforms/InstCombine/vec_shuffle.ll +++ b/llvm/test/Transforms/InstCombine/vec_shuffle.ll @@ -153,3 +153,24 @@ define <8 x i8> @test12a(<8 x i8> %tmp6, <8 x i8> %tmp2) nounwind { ret <8 x i8> %tmp3 } +define <2 x i8> @test13a(i8 %x1, i8 %x2) { +; CHECK: @test13a +; CHECK-NEXT: insertelement {{.*}} undef, i8 %x1, i32 1 +; CHECK-NEXT: insertelement {{.*}} i8 %x2, i32 0 +; CHECK-NEXT: add {{.*}} <i8 7, i8 5> +; CHECK-NEXT: ret + %A = insertelement <2 x i8> undef, i8 %x1, i32 0 + %B = insertelement <2 x i8> %A, i8 %x2, i32 1 + %C = add <2 x i8> %B, <i8 5, i8 7> + %D = shufflevector <2 x i8> %C, <2 x i8> undef, <2 x i32> <i32 1, i32 0> + ret <2 x i8> %D +} + +define <2 x i8> @test13b(i8 %x) { +; CHECK: @test13b +; CHECK-NEXT: insertelement <2 x i8> undef, i8 %x, i32 1 +; CHECK-NEXT: ret + %A = insertelement <2 x i8> undef, i8 %x, i32 0 + %B = shufflevector <2 x i8> %A, <2 x i8> undef, <2 x i32> <i32 undef, i32 0> + ret <2 x i8> %B +} |

