diff options
author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2013-10-06 06:11:18 +0000 |
---|---|---|
committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2013-10-06 06:11:18 +0000 |
commit | a6269ee5fbb6e1237648a47d31f96ba3b4a1bb54 (patch) | |
tree | 64e73f4e2bd4ff751b43e484b003b96fd2b5e628 /test/CodeGen/X86 | |
parent | 20b10abf4e88ca532810fbf749b029ce582d6793 (diff) | |
download | llvm-a6269ee5fbb6e1237648a47d31f96ba3b4a1bb54.tar.gz llvm-a6269ee5fbb6e1237648a47d31f96ba3b4a1bb54.tar.bz2 llvm-a6269ee5fbb6e1237648a47d31f96ba3b4a1bb54.tar.xz |
AVX-512: fixed shuffle lowering
in case of BLEND and added VSHUFPS patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192055 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86')
-rw-r--r-- | test/CodeGen/X86/avx512-shuffle.ll | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/CodeGen/X86/avx512-shuffle.ll b/test/CodeGen/X86/avx512-shuffle.ll index 9495c65e9f..f9186b643f 100644 --- a/test/CodeGen/X86/avx512-shuffle.ll +++ b/test/CodeGen/X86/avx512-shuffle.ll @@ -199,4 +199,20 @@ define <4 x i32> @test22(<4 x i32> %a, <4 x i32> %b) nounwind { define <16 x float> @test23(<16 x float> %a, <16 x float> %c) { %b = shufflevector <16 x float> %a, <16 x float> %c, <16 x i32><i32 0, i32 0, i32 17, i32 18, i32 4, i32 4, i32 21, i32 22, i32 8, i32 8, i32 25, i32 26, i32 12, i32 12, i32 29, i32 30> ret <16 x float> %b +} + +; CHECK-LABEL: @test24 +; CHECK: vpermi2d +; CHECK: ret +define <16 x i32> @test24(<16 x i32> %a, <16 x i32> %b) nounwind { + %c = shufflevector <16 x i32> %a, <16 x i32> %b, <16 x i32> <i32 0, i32 1, i32 2, i32 19, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef> + ret <16 x i32> %c +} + +; CHECK-LABEL: @test25 +; CHECK: vshufps $52 +; CHECK: ret +define <16 x i32> @test25(<16 x i32> %a, <16 x i32> %b) nounwind { + %c = shufflevector <16 x i32> %a, <16 x i32> %b, <16 x i32> <i32 0, i32 1, i32 19, i32 undef, i32 4, i32 5, i32 23, i32 undef, i32 8, i32 9, i32 27, i32 undef, i32 12, i32 13, i32 undef, i32 undef> + ret <16 x i32> %c }
\ No newline at end of file |