blob: 7e1c89ac688ce529275074185fa44c6f0c5b67c4 [file] [log] [blame]
Matthias Braun6b898be2017-08-02 00:28:10 +00001; RUN: llc < %s -mtriple=i686-- -mattr=+sse,-sse2
Anders Carlsson1699ad92008-10-07 16:14:11 +00002
3define <4 x float> @f(float %w) nounwind {
4entry:
Nikita Popov2f448bf2022-06-22 14:33:12 +02005 %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]
Anders Carlsson1699ad92008-10-07 16:14:11 +000010 %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]
Nikita Popov2f448bf2022-06-22 14:33:12 +020014 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
Anders Carlsson1699ad92008-10-07 16:14:11 +000017 br label %return
18
19return: ; preds = %entry
Nikita Popov2f448bf2022-06-22 14:33:12 +020020 %4 = load <4 x float>, ptr %retval ; <<4 x float>> [#uses=1]
Anders Carlsson1699ad92008-10-07 16:14:11 +000021 ret <4 x float> %4
22}