[AVX512] Bring back vector-shuffle lowering support through broadcasts
[oota-llvm.git] / test / CodeGen / X86 / 2006-05-17-VectorArg.ll
1 ; RUN: llc < %s -march=x86 -mattr=+sse2
2
3 define <4 x float> @opRSQ(<4 x float> %a) nounwind {
4 entry:
5         %tmp2 = extractelement <4 x float> %a, i32 3            ; <float> [#uses=2]
6         %abscond = fcmp oge float %tmp2, -0.000000e+00          ; <i1> [#uses=1]
7         %abs = select i1 %abscond, float %tmp2, float 0.000000e+00              ; <float> [#uses=1]
8         %tmp3 = tail call float @llvm.sqrt.f32( float %abs )            ; <float> [#uses=1]
9         %tmp4 = fdiv float 1.000000e+00, %tmp3          ; <float> [#uses=1]
10         %tmp11 = insertelement <4 x float> zeroinitializer, float %tmp4, i32 3          ; <<4 x float>> [#uses=1]
11         ret <4 x float> %tmp11
12 }
13
14 declare float @llvm.sqrt.f32(float)
15