Optimized FCMP_OEQ and FCMP_UNE for x86.
[oota-llvm.git] / test / CodeGen / X86 / vec_insert.ll
1 ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movss | count 1
2 ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | not grep pinsrw
3
4 define void @test(<4 x float>* %F, i32 %I) {
5         %tmp = load <4 x float>* %F             ; <<4 x float>> [#uses=1]
6         %f = sitofp i32 %I to float             ; <float> [#uses=1]
7         %tmp1 = insertelement <4 x float> %tmp, float %f, i32 0         ; <<4 x float>> [#uses=2]
8         %tmp18 = add <4 x float> %tmp1, %tmp1           ; <<4 x float>> [#uses=1]
9         store <4 x float> %tmp18, <4 x float>* %F
10         ret void
11 }
12
13 define void @test2(<4 x float>* %F, i32 %I, float %g) {
14         %tmp = load <4 x float>* %F             ; <<4 x float>> [#uses=1]
15         %f = sitofp i32 %I to float             ; <float> [#uses=1]
16         %tmp1 = insertelement <4 x float> %tmp, float %f, i32 2         ; <<4 x float>> [#uses=1]
17         store <4 x float> %tmp1, <4 x float>* %F
18         ret void
19 }