More build_vector tests.
[oota-llvm.git] / test / CodeGen / X86 / vec_set-4.ll
1 ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep pinsrw | wc -l | grep 2
2 <2 x long> %test(short %a) {
3 entry:
4         %tmp10 = insertelement <8 x short> zeroinitializer, short %a, uint 3            ; <<8 x short>> [#uses=1]
5         %tmp12 = insertelement <8 x short> %tmp10, short 0, uint 4              ; <<8 x short>> [#uses=1]
6         %tmp14 = insertelement <8 x short> %tmp12, short 0, uint 5              ; <<8 x short>> [#uses=1]
7         %tmp16 = insertelement <8 x short> %tmp14, short 0, uint 6              ; <<8 x short>> [#uses=1]
8         %tmp18 = insertelement <8 x short> %tmp16, short 0, uint 7              ; <<8 x short>> [#uses=1]
9         %tmp19 = cast <8 x short> %tmp18 to <2 x long>          ; <<2 x long>> [#uses=1]
10         ret <2 x long> %tmp19
11 }
12
13 <2 x long> %test(sbyte %a) {
14 entry:
15         %tmp24 = insertelement <16 x sbyte> zeroinitializer, sbyte %a, uint 10
16         %tmp26 = insertelement <16 x sbyte> %tmp24, sbyte 0, uint 11
17         %tmp28 = insertelement <16 x sbyte> %tmp26, sbyte 0, uint 12
18         %tmp30 = insertelement <16 x sbyte> %tmp28, sbyte 0, uint 13
19         %tmp32 = insertelement <16 x sbyte> %tmp30, sbyte 0, uint 14
20         %tmp34 = insertelement <16 x sbyte> %tmp32, sbyte 0, uint 15
21         %tmp35 = cast <16 x sbyte> %tmp34 to <2 x long>
22         ret <2 x long> %tmp35
23 }