blob: 23c5808af12fe6e932bda3a2700e70b5878ea623 [file] [log] [blame]
Reid Spenceraf6a4082007-01-30 16:16:01 +00001; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 -mattr=+sse2 | \
2; RUN: grep shufps | wc -l | grep 1 &&
3; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 -mattr=+sse2 | \
4; RUN: grep pshufd | wc -l | grep 1
Evan Cheng8ef22ae2006-04-21 01:22:41 +00005
6<4 x float> %test(float %a) {
7 %tmp = insertelement <4 x float> zeroinitializer, float %a, uint 1
8 %tmp5 = insertelement <4 x float> %tmp, float 0.000000e+00, uint 2
9 %tmp6 = insertelement <4 x float> %tmp5, float 0.000000e+00, uint 3
10 ret <4 x float> %tmp6
11}
12
Reid Spenceraf6a4082007-01-30 16:16:01 +000013<2 x long> %test2(int %a) {
Evan Cheng8ef22ae2006-04-21 01:22:41 +000014 %tmp7 = insertelement <4 x int> zeroinitializer, int %a, uint 2
15 %tmp9 = insertelement <4 x int> %tmp7, int 0, uint 3
16 %tmp10 = cast <4 x int> %tmp9 to <2 x long>
17 ret <2 x long> %tmp10
18}