diff options
| author | Nick Lewycky <nicholas@mxc.ca> | 2013-05-30 04:33:38 +0000 | 
|---|---|---|
| committer | Nick Lewycky <nicholas@mxc.ca> | 2013-05-30 04:33:38 +0000 | 
| commit | d7f27094c0657a28b5d2d28701772f5bbdc1bbca (patch) | |
| tree | 0f9c55a91616c00cc3948ac4e059b7179750c31c /llvm/test/Transforms | |
| parent | 4f60a38f18ee68c4abd4cfefb5a4bba0f0917f16 (diff) | |
| download | bcm5719-llvm-d7f27094c0657a28b5d2d28701772f5bbdc1bbca.tar.gz bcm5719-llvm-d7f27094c0657a28b5d2d28701772f5bbdc1bbca.zip  | |
Swizzle vector inputs if it helps us eliminate shuffles.
llvm-svn: 182909
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/vec_shuffle.ll | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/vec_shuffle.ll b/llvm/test/Transforms/InstCombine/vec_shuffle.ll index 8f78c2e6bd5..9dc29e4c6cd 100644 --- a/llvm/test/Transforms/InstCombine/vec_shuffle.ll +++ b/llvm/test/Transforms/InstCombine/vec_shuffle.ll @@ -153,3 +153,15 @@ define <8 x i8> @test12a(<8 x i8> %tmp6, <8 x i8> %tmp2) nounwind {    ret <8 x i8> %tmp3  } +define <2 x i8> @test13(i8 %x1, i8 %x2) { +; CHECK: @test13 +; 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 +}  | 

