Split the Add, Sub, and Mul instruction opcodes into separate
[oota-llvm.git] / test / CodeGen / X86 / vec_shuffle-28.ll
1 ; RUN: llvm-as < %s | llc -march=x86 -mcpu=yonah -o %t -f
2 ; RUN: grep movd %t | count 1
3 ; RUN: grep pshuflw %t | count 1
4 ; RUN: grep pinsrw %t | count 1
5 ; RUN: llvm-as < %s | llc -march=x86 -mcpu=core2 -o %t -f
6 ; RUN: grep pshufb %t | count 1
7
8 ; FIXME: this test has a superfluous punpcklqdq pre-pshufb currently.
9 ;        Don't XFAIL it because it's still better than the previous code.
10
11 ; Pack various elements via shuffles.
12 define <8 x i16> @shuf1(<8 x i16> %T0, <8 x i16> %T1) nounwind readnone {
13 entry:
14         %tmp7 = shufflevector <8 x i16> %T0, <8 x i16> %T1, <8 x i32> < i32 1, i32 8, i32 undef, i32 undef, i32 undef, i32 undef, i32 undef , i32 undef >
15         ret <8 x i16> %tmp7
16 }