Fixed some bugs in register stack pass.
[llvm/zpu.git] / test / CodeGen / X86 / vec_shuffle-35.ll
blob7f0fcb5969e4f48361b456a0e4eff8f2bbb40cb0
1 ; RUN: llc < %s -march=x86 -mcpu=yonah -stack-alignment=16 -o %t
2 ; RUN: grep pextrw %t | count 13
3 ; RUN: grep pinsrw %t | count 14
4 ; RUN: grep rolw %t | count 13
5 ; RUN: not grep esp %t
6 ; RUN: not grep ebp %t
7 ; RUN: llc < %s -march=x86 -mcpu=core2 -stack-alignment=16 -o %t
8 ; RUN: grep pshufb %t | count 3
10 define <16 x i8> @shuf1(<16 x i8> %T0) nounwind readnone {
11 entry:
12         %tmp8 = shufflevector <16 x i8> %T0, <16 x i8> undef, <16 x i32> < i32 1, i32 0, i32 3, i32 2, i32 5, i32 4, i32 7, i32 6, i32 9, i32 8, i32 11, i32 10, i32 12, i32 13, i32 15 , i32 14 >
13         ret <16 x i8> %tmp8
16 define <16 x i8> @shuf2(<16 x i8> %T0, <16 x i8> %T1) nounwind readnone {
17 entry:
18         %tmp8 = shufflevector <16 x i8> %T0, <16 x i8> %T1, <16 x i32> < i32 undef, i32 undef, i32 3, i32 2, i32 17, i32 16, i32 7, i32 6, i32 9, i32 8, i32 11, i32 10, i32 12, i32 13, i32 15 , i32 14 >
19         ret <16 x i8> %tmp8