aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/vec_zexts2v.ll
blob: a2ff6c8b51dadf312493b32744cb8ae3e733b4ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movss | wc -l | grep 2
; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep xorps | wc -l | grep 1

void %test1(<4 x float>* %b, float %X) {
	%tmp = insertelement <4 x float> zeroinitializer, float %X, uint 0
	%tmp1 = insertelement <4 x float> %tmp, float 0.000000e+00, uint 1
	%tmp2 = insertelement <4 x float> %tmp1, float 0.000000e+00, uint 2
	%tmp3 = insertelement <4 x float> %tmp2, float 0.000000e+00, uint 3
	store <4 x float> %tmp3, <4 x float>* %b
	ret void
}

void %test2(<4 x float>* %b, float %X, float %Y) {
	%tmp2 = mul float %X, %Y
	%tmp = insertelement <4 x float> zeroinitializer, float %tmp2, uint 0
	%tmp4 = insertelement <4 x float> %tmp, float 0.000000e+00, uint 1
	%tmp5 = insertelement <4 x float> %tmp4, float 0.000000e+00, uint 2
	%tmp6 = insertelement <4 x float> %tmp5, float 0.000000e+00, uint 3
	store <4 x float> %tmp6, <4 x float>* %b
	ret void
}