summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNadav Rotem <nadav.rotem@intel.com>2012-04-24 19:45:28 +0000
committerNadav Rotem <nadav.rotem@intel.com>2012-04-24 19:45:28 +0000
commitedef71790bd2629436df7f1c0f361544962de1e5 (patch)
treef9a3bb36eeae794f2d74081b6a8eac62e51e6acf
parent847713a998ffb74d69f2a9729f77d59cd38f4220 (diff)
downloadbcm5719-llvm-edef71790bd2629436df7f1c0f361544962de1e5.tar.gz
bcm5719-llvm-edef71790bd2629436df7f1c0f361544962de1e5.zip
Add a testcase for 155440
llvm-svn: 155475
-rw-r--r--llvm/test/CodeGen/X86/avx2-shuffle.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/avx2-shuffle.ll b/llvm/test/CodeGen/X86/avx2-shuffle.ll
new file mode 100644
index 00000000000..218e10b361f
--- /dev/null
+++ b/llvm/test/CodeGen/X86/avx2-shuffle.ll
@@ -0,0 +1,13 @@
+; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=core-avx2 -mattr=+avx2 | FileCheck %s
+
+; Make sure that we don't match this shuffle using the vpblendw instruction.
+; The mask for the vpblendw instruction needs to be identical for both halves
+; of the YMM.
+
+; CHECK: blendw1
+; CHECK-NOT: vpblendw
+; CHECK: ret
+define <16 x i16> @blendw1(<16 x i16> %a, <16 x i16> %b) nounwind alwaysinline {
+ %t = shufflevector <16 x i16> %a, <16 x i16> %b, <16 x i32> <i32 0, i32 17, i32 18, i32 3, i32 20, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
+ ret <16 x i16> %t
+}
OpenPOWER on IntegriCloud