Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86 -mattr=+sse2,-sse4.1 | FileCheck --check-prefix=X32 %s
      2 ; RUN: llc < %s -march=x86-64 -mattr=+sse2,-sse4.1 | FileCheck --check-prefix=X64 %s
      3 
      4 define <4 x float> @t1(float %s, <4 x float> %tmp) nounwind {
      5 ; X32-LABEL: t1:
      6 ; X32: shufps $36
      7 ; X32: ret
      8 
      9   %tmp1 = insertelement <4 x float> %tmp, float %s, i32 3
     10   ret <4 x float> %tmp1
     11 }
     12 
     13 define <4 x i32> @t2(i32 %s, <4 x i32> %tmp) nounwind {
     14 ; X32-LABEL: t2:
     15 ; X32: shufps $36
     16 ; X32: ret
     17 
     18   %tmp1 = insertelement <4 x i32> %tmp, i32 %s, i32 3
     19   ret <4 x i32> %tmp1
     20 }
     21 
     22 define <2 x double> @t3(double %s, <2 x double> %tmp) nounwind {
     23 ; X32-LABEL: t3:
     24 ; X32: movhpd
     25 ; X32: ret
     26 
     27 ; X64-LABEL: t3:
     28 ; X64: unpcklpd
     29 ; X64: ret
     30 
     31   %tmp1 = insertelement <2 x double> %tmp, double %s, i32 1
     32   ret <2 x double> %tmp1
     33 }
     34 
     35 define <8 x i16> @t4(i16 %s, <8 x i16> %tmp) nounwind {
     36 ; X32-LABEL: t4:
     37 ; X32: pinsrw
     38 ; X32: ret
     39 
     40   %tmp1 = insertelement <8 x i16> %tmp, i16 %s, i32 5
     41   ret <8 x i16> %tmp1
     42 }
     43