xref: /llvm-project/llvm/test/CodeGen/X86/2008-10-07-SSEISelBug.ll (revision 2f448bf509432c1a19ec46ab8cbc7353c03c6280)
1; RUN: llc < %s -mtriple=i686-- -mattr=+sse,-sse2
2
3define <4 x float> @f(float %w) nounwind {
4entry:
5	%retval = alloca <4 x float>		; <ptr> [#uses=2]
6	%w.addr = alloca float		; <ptr> [#uses=2]
7	%.compoundliteral = alloca <4 x float>		; <ptr> [#uses=2]
8	store float %w, ptr %w.addr
9	%tmp = load float, ptr %w.addr		; <float> [#uses=1]
10	%0 = insertelement <4 x float> undef, float %tmp, i32 0		; <<4 x float>> [#uses=1]
11	%1 = insertelement <4 x float> %0, float 0.000000e+00, i32 1		; <<4 x float>> [#uses=1]
12	%2 = insertelement <4 x float> %1, float 0.000000e+00, i32 2		; <<4 x float>> [#uses=1]
13	%3 = insertelement <4 x float> %2, float 0.000000e+00, i32 3		; <<4 x float>> [#uses=1]
14	store <4 x float> %3, ptr %.compoundliteral
15	%tmp1 = load <4 x float>, ptr %.compoundliteral		; <<4 x float>> [#uses=1]
16	store <4 x float> %tmp1, ptr %retval
17	br label %return
18
19return:		; preds = %entry
20	%4 = load <4 x float>, ptr %retval		; <<4 x float>> [#uses=1]
21	ret <4 x float> %4
22}
23