Home | History | Annotate | Download | only in SROA

Lines Matching full:next

26 ; CHECK-NEXT: extractelement <4 x i32> %y, i32 3
27 ; CHECK-NEXT: extractelement <4 x i32> %y, i32 0
32 ; CHECK-NEXT: add
33 ; CHECK-NEXT: add
34 ; CHECK-NEXT: ret
59 ; CHECK-NEXT: %[[extract2:.*]] = extractelement <4 x i32> %y, i32 3
60 ; CHECK-NEXT: %[[extract3:.*]] = shufflevector <4 x i32> %y, <4 x i32> undef, <2 x i32> <i32 0, i32 1>
61 ; CHECK-NEXT: %[[extract4:.*]] = extractelement <2 x i32> %[[extract3]], i32 0
66 ; CHECK-NEXT: %[[sum1:.*]] = add i32 %[[extract1]], %[[extract2]]
67 ; CHECK-NEXT: %[[sum2:.*]] = add i32 %[[extract4]], %[[sum1]]
68 ; CHECK-NEXT: ret i32 %[[sum2]]
97 ; CHECK-NEXT: extractelement <4 x i32> %[[insert]], i32 2
98 ; CHECK-NEXT: extractelement <4 x i32> zeroinitializer, i32 3
99 ; CHECK-NEXT: extractelement <4 x i32> zeroinitializer, i32 0
104 ; CHECK-NEXT: add
105 ; CHECK-NEXT: add
106 ; CHECK-NEXT: ret
138 ; CHECK-NEXT: %[[gep:.*]] = getelementptr inbounds <4 x i32>* %z, i64 0, i64 2
139 ; CHECK-NEXT: %[[element_load:.*]] = load i32* %[[gep]]
140 ; CHECK-NEXT: %[[insert:.*]] = insertelement <4 x i32> %x, i32 %[[element_load]], i32 2
141 ; CHECK-NEXT: extractelement <4 x i32> %[[insert]], i32 2
142 ; CHECK-NEXT: extractelement <4 x i32> %[[load]], i32 3
143 ; CHECK-NEXT: extractelement <4 x i32> %[[load]], i32 0
148 ; CHECK-NEXT: add
149 ; CHECK-NEXT: add
150 ; CHECK-NEXT: ret
184 ; CHECK-NEXT: %[[extract:.*]] = extractelement <4 x i32> %y, i32 2
185 ; CHECK-NEXT: store i32 %[[extract]], i32* %[[gep]]
186 ; CHECK-NEXT: extractelement <4 x i32> %y, i32 2
187 ; CHECK-NEXT: extractelement <4 x i32> %y, i32 3
188 ; CHECK-NEXT: extractelement <4 x i32> %y, i32 0
193 ; CHECK-NEXT: add
194 ; CHECK-NEXT: add
195 ; CHECK-NEXT: ret
232 ; CHECK-NEXT: select <4 x i1> <i1 false, i1 true, i1 true, i1 false>
237 ; CHECK-NEXT: select <4 x i1> <i1 false, i1 false, i1 true, i1 true>
241 ; CHECK-NEXT: insertelement <4 x i32>
246 ; CHECK-NEXT: ret <4 x i32>
266 ; CHECK-NEXT: %[[extract2:.*]] = shufflevector <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32> undef, <2 x i32> <i32 1, i32 2>
271 ; CHECK-NEXT: %[[extract3:.*]] = shufflevector <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32> undef, <2 x i32> <i32 2, i32 3>
275 ; CHECK-NEXT: %[[tmp:.*]] = shufflevector <2 x i32> %[[extract1]], <2 x i32> %[[extract2]], <2 x i32> <i32 0, i32 2>
276 ; CHECK-NEXT: %[[ret:.*]] = shufflevector <2 x i32> %[[tmp]], <2 x i32> %[[extract3]], <4 x i32> <i32 0, i32 1, i32 2, i32 3>
279 ; CHECK-NEXT: ret <4 x i32> %[[ret]]
299 ; CHECK-NEXT: select <4 x i1> <i1 false, i1 true, i1 true, i1 false>
304 ; CHECK-NEXT: select <4 x i1> <i1 false, i1 false, i1 true, i1 true>
309 ; CHECK-NEXT: insertelement <4 x float>
314 ; CHECK-NEXT: ret <4 x float>
327 ; CHECK-NEXT: %[[x:.*]] = load <2 x float>* %[[xptr]]
328 ; CHECK-NEXT: %[[expand_x:.*]] = shufflevector <2 x float> %[[x]], <2 x float> undef, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef>
329 ; CHECK-NEXT: select <4 x i1> <i1 true, i1 true, i1 false, i1 false>
334 ; CHECK-NEXT: %[[yptr:.*]] = bitcast i8* %y to <2 x float>*
335 ; CHECK-NEXT: %[[y:.*]] = load <2 x float>* %[[yptr]]
336 ; CHECK-NEXT: %[[expand_y:.*]] = shufflevector <2 x float> %[[y]], <2 x float> undef, <4 x i32> <i32 undef, i32 0, i32 1, i32 undef>
337 ; CHECK-NEXT: select <4 x i1> <i1 false, i1 true, i1 true, i1 false>
342 ; CHECK-NEXT: %[[zptr:.*]] = bitcast i8* %z to <2 x float>*
343 ; CHECK-NEXT: %[[z:.*]] = load <2 x float>* %[[zptr]]
344 ; CHECK-NEXT: %[[expand_z:.*]] = shufflevector <2 x float> %[[z]], <2 x float> undef, <4 x i32> <i32 undef, i32 undef, i32 0, i32 1>
345 ; CHECK-NEXT: select <4 x i1> <i1 false, i1 false, i1 true, i1 true>
350 ; CHECK-NEXT: %[[fptr:.*]] = bitcast i8* %f to float*
351 ; CHECK-NEXT: %[[f:.*]] = load float* %[[fptr]]
352 ; CHECK-NEXT: %[[insert_f:.*]] = insertelement <4 x float>
355 ; CHECK-NEXT: %[[outptr:.*]] = bitcast i8* %out to <2 x float>*
356 ; CHECK-NEXT: %[[extract_out:.*]] = shufflevector <4 x float> %[[insert_f]], <4 x float> undef, <2 x i32> <i32 2, i32 3>
357 ; CHECK-NEXT: store <2 x float> %[[extract_out]], <2 x float>* %[[outptr]]
362 ; CHECK-NEXT: ret <4 x float> %[[insert_f]]