Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -mcpu=corei7 -march=x86 -mattr=+sse41 -o %t
      2 ; RUN: not grep extractps   %t
      3 ; RUN: not grep pextrd      %t
      4 ; RUN: not grep pshufd  %t
      5 ; RUN: not grep movss   %t
      6 
      7 define void @t1(float* %R, <4 x float>* %P1) nounwind {
      8 	%X = load <4 x float>* %P1
      9 	%tmp = extractelement <4 x float> %X, i32 3
     10 	store float %tmp, float* %R
     11 	ret void
     12 }
     13 
     14 define float @t2(<4 x float>* %P1) nounwind {
     15 	%X = load <4 x float>* %P1
     16 	%tmp = extractelement <4 x float> %X, i32 2
     17 	ret float %tmp
     18 }
     19 
     20 define void @t3(i32* %R, <4 x i32>* %P1) nounwind {
     21 	%X = load <4 x i32>* %P1
     22 	%tmp = extractelement <4 x i32> %X, i32 3
     23 	store i32 %tmp, i32* %R
     24 	ret void
     25 }
     26 
     27 define i32 @t4(<4 x i32>* %P1) nounwind {
     28 	%X = load <4 x i32>* %P1
     29 	%tmp = extractelement <4 x i32> %X, i32 3
     30 	ret i32 %tmp
     31 }
     32