summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/vec_shuffle-36.ll
diff options
context:
space:
mode:
authorMon P Wang <wangmp@apple.com>2010-02-18 22:33:18 +0000
committerMon P Wang <wangmp@apple.com>2010-02-18 22:33:18 +0000
commit1c40e188c579c49f811eee499af2f371298c758c (patch)
treec00e810801c29f52f5ab3f92ba61583d12ac7cd3 /test/CodeGen/X86/vec_shuffle-36.ll
parent39a4bb35276206d7ef0ff51dbc984aaf50bf659d (diff)
downloadllvm-1c40e188c579c49f811eee499af2f371298c758c.tar.gz
llvm-1c40e188c579c49f811eee499af2f371298c758c.tar.bz2
llvm-1c40e188c579c49f811eee499af2f371298c758c.tar.xz
getSplatIndex assumes that the first element of the mask contains the splat index
which is not always true if the mask contains undefs. Modified it to return the first non undef value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96621 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/vec_shuffle-36.ll')
-rw-r--r--test/CodeGen/X86/vec_shuffle-36.ll17
1 files changed, 12 insertions, 5 deletions
diff --git a/test/CodeGen/X86/vec_shuffle-36.ll b/test/CodeGen/X86/vec_shuffle-36.ll
index 8a93a7eeee..1ea37c881e 100644
--- a/test/CodeGen/X86/vec_shuffle-36.ll
+++ b/test/CodeGen/X86/vec_shuffle-36.ll
@@ -1,9 +1,16 @@
-; RUN: llc < %s -march=x86 -mattr=sse41 -o %t
-; RUN: grep pshufb %t | count 1
-
+; RUN: llc < %s -march=x86-64 -mattr=sse41 | FileCheck %s
define <8 x i16> @shuf6(<8 x i16> %T0, <8 x i16> %T1) nounwind readnone {
+; CHECK: pshufb
+; CHECK-NOT: pshufb
+; CHECK: ret
entry:
- %tmp9 = shufflevector <8 x i16> %T0, <8 x i16> %T1, <8 x i32> < i32 3, i32 2, i32 0, i32 2, i32 1, i32 5, i32 6 , i32 undef >
- ret <8 x i16> %tmp9
+ %tmp9 = shufflevector <8 x i16> %T0, <8 x i16> %T1, <8 x i32> < i32 3, i32 2, i32 0, i32 2, i32 1, i32 5, i32 6 , i32 undef >
+ ret <8 x i16> %tmp9
}
+
+define <8 x i16> @shuf7(<8 x i16> %t0) {
+; CHECK: pshufd
+ %tmp10 = shufflevector <8 x i16> %t0, <8 x i16> undef, <8 x i32> < i32 undef, i32 2, i32 2, i32 2, i32 2, i32 2, i32 undef, i32 undef >
+ ret <8 x i16> %tmp10
+} \ No newline at end of file