blob: 31716bcd8c651a81ecfdaecce37d43da8a505e18 [file] [log] [blame]
Tanya Lattner632e88a2008-02-21 07:42:26 +00001; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 -o %t -f
Dan Gohman8c89a502007-08-15 13:36:28 +00002; RUN: grep shufps %t | count 1
3; RUN: grep pshufd %t | count 1
Dan Gohmanf17a25c2007-07-18 16:29:46 +00004
Tanya Lattner632e88a2008-02-21 07:42:26 +00005define <4 x float> @test(float %a) {
6 %tmp = insertelement <4 x float> zeroinitializer, float %a, i32 1 ; <<4 x float>> [#uses=1]
7 %tmp5 = insertelement <4 x float> %tmp, float 0.000000e+00, i32 2 ; <<4 x float>> [#uses=1]
8 %tmp6 = insertelement <4 x float> %tmp5, float 0.000000e+00, i32 3 ; <<4 x float>> [#uses=1]
9 ret <4 x float> %tmp6
Dan Gohmanf17a25c2007-07-18 16:29:46 +000010}
11
Tanya Lattner632e88a2008-02-21 07:42:26 +000012define <2 x i64> @test2(i32 %a) {
13 %tmp7 = insertelement <4 x i32> zeroinitializer, i32 %a, i32 2 ; <<4 x i32>> [#uses=1]
14 %tmp9 = insertelement <4 x i32> %tmp7, i32 0, i32 3 ; <<4 x i32>> [#uses=1]
15 %tmp10 = bitcast <4 x i32> %tmp9 to <2 x i64> ; <<2 x i64>> [#uses=1]
16 ret <2 x i64> %tmp10
Dan Gohmanf17a25c2007-07-18 16:29:46 +000017}
Tanya Lattner632e88a2008-02-21 07:42:26 +000018