• Home
  • Raw
  • Download

Lines Matching +full:4 +full:x

7 ; CHECK-NEXT:    [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
8 ; CHECK-NEXT: [[TMP2:%.*]] = tail call <4 x float> @llvm.x86.sse.rcp.ss(<4 x float> [[TMP1]])
9 ; CHECK-NEXT: [[TMP3:%.*]] = extractelement <4 x float> [[TMP2]], i32 0
12 %1 = insertelement <4 x float> undef, float %a, i32 0
13 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
14 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
15 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
16 %5 = tail call <4 x float> @llvm.x86.sse.rcp.ss(<4 x float> %4)
17 %6 = extractelement <4 x float> %5, i32 0
25 %1 = insertelement <4 x float> undef, float %a, i32 0
26 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
27 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
28 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
29 %5 = tail call <4 x float> @llvm.x86.sse.rcp.ss(<4 x float> %4)
30 %6 = extractelement <4 x float> %5, i32 1
36 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
37 ; CHECK-NEXT: [[TMP2:%.*]] = tail call <4 x float> @llvm.x86.sse.sqrt.ss(<4 x float> [[TMP1]])
38 ; CHECK-NEXT: [[TMP3:%.*]] = extractelement <4 x float> [[TMP2]], i32 0
41 %1 = insertelement <4 x float> undef, float %a, i32 0
42 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
43 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
44 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
45 %5 = tail call <4 x float> @llvm.x86.sse.sqrt.ss(<4 x float> %4)
46 %6 = extractelement <4 x float> %5, i32 0
54 %1 = insertelement <4 x float> undef, float %a, i32 0
55 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
56 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
57 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
58 %5 = tail call <4 x float> @llvm.x86.sse.sqrt.ss(<4 x float> %4)
59 %6 = extractelement <4 x float> %5, i32 2
65 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
66 ; CHECK-NEXT: [[TMP2:%.*]] = tail call <4 x float> @llvm.x86.sse.rsqrt.ss(<4 x float> [[TMP1]])
67 ; CHECK-NEXT: [[TMP3:%.*]] = extractelement <4 x float> [[TMP2]], i32 0
70 %1 = insertelement <4 x float> undef, float %a, i32 0
71 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
72 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
73 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
74 %5 = tail call <4 x float> @llvm.x86.sse.rsqrt.ss(<4 x float> %4)
75 %6 = extractelement <4 x float> %5, i32 0
83 %1 = insertelement <4 x float> undef, float %a, i32 0
84 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
85 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
86 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
87 %5 = tail call <4 x float> @llvm.x86.sse.rsqrt.ss(<4 x float> %4)
88 %6 = extractelement <4 x float> %5, i32 3
92 define <4 x float> @test_add_ss(<4 x float> %a, <4 x float> %b) {
94 ; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.add.ss(<4 x float> %a, <4 x flo…
95 ; CHECK-NEXT: ret <4 x float> [[TMP1]]
97 %1 = insertelement <4 x float> %b, float 1.000000e+00, i32 1
98 %2 = insertelement <4 x float> %1, float 2.000000e+00, i32 2
99 %3 = insertelement <4 x float> %2, float 3.000000e+00, i32 3
100 %4 = tail call <4 x float> @llvm.x86.sse.add.ss(<4 x float> %a, <4 x float> %3)
101 ret <4 x float> %4
109 %1 = insertelement <4 x float> undef, float %a, i32 0
110 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
111 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
112 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
113 %5 = insertelement <4 x float> undef, float %b, i32 0
114 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
115 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
116 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
117 %9 = tail call <4 x float> @llvm.x86.sse.add.ss(<4 x float> %4, <4 x float> %8)
118 %r = extractelement <4 x float> %9, i32 0
126 %1 = insertelement <4 x float> undef, float %a, i32 0
127 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
128 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
129 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
130 %5 = insertelement <4 x float> undef, float %b, i32 0
131 %6 = tail call <4 x float> @llvm.x86.sse.add.ss(<4 x float> %4, <4 x float> %5)
132 %7 = extractelement <4 x float> %6, i32 1
136 define <4 x float> @test_sub_ss(<4 x float> %a, <4 x float> %b) {
138 ; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.sub.ss(<4 x float> %a, <4 x flo…
139 ; CHECK-NEXT: ret <4 x float> [[TMP1]]
141 %1 = insertelement <4 x float> %b, float 1.000000e+00, i32 1
142 %2 = insertelement <4 x float> %1, float 2.000000e+00, i32 2
143 %3 = insertelement <4 x float> %2, float 3.000000e+00, i32 3
144 %4 = tail call <4 x float> @llvm.x86.sse.sub.ss(<4 x float> %a, <4 x float> %3)
145 ret <4 x float> %4
153 %1 = insertelement <4 x float> undef, float %a, i32 0
154 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
155 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
156 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
157 %5 = insertelement <4 x float> undef, float %b, i32 0
158 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
159 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
160 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
161 %9 = tail call <4 x float> @llvm.x86.sse.sub.ss(<4 x float> %4, <4 x float> %8)
162 %r = extractelement <4 x float> %9, i32 0
170 %1 = insertelement <4 x float> undef, float %a, i32 0
171 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
172 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
173 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
174 %5 = insertelement <4 x float> undef, float %b, i32 0
175 %6 = tail call <4 x float> @llvm.x86.sse.sub.ss(<4 x float> %4, <4 x float> %5)
176 %7 = extractelement <4 x float> %6, i32 2
180 define <4 x float> @test_mul_ss(<4 x float> %a, <4 x float> %b) {
182 ; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.mul.ss(<4 x float> %a, <4 x flo…
183 ; CHECK-NEXT: ret <4 x float> [[TMP1]]
185 %1 = insertelement <4 x float> %b, float 1.000000e+00, i32 1
186 %2 = insertelement <4 x float> %1, float 2.000000e+00, i32 2
187 %3 = insertelement <4 x float> %2, float 3.000000e+00, i32 3
188 %4 = tail call <4 x float> @llvm.x86.sse.mul.ss(<4 x float> %a, <4 x float> %3)
189 ret <4 x float> %4
197 %1 = insertelement <4 x float> undef, float %a, i32 0
198 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
199 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
200 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
201 %5 = insertelement <4 x float> undef, float %b, i32 0
202 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
203 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
204 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
205 %9 = tail call <4 x float> @llvm.x86.sse.mul.ss(<4 x float> %4, <4 x float> %8)
206 %r = extractelement <4 x float> %9, i32 0
214 %1 = insertelement <4 x float> undef, float %a, i32 0
215 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
216 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
217 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
218 %5 = insertelement <4 x float> undef, float %b, i32 0
219 %6 = tail call <4 x float> @llvm.x86.sse.mul.ss(<4 x float> %4, <4 x float> %5)
220 %7 = extractelement <4 x float> %6, i32 3
224 define <4 x float> @test_div_ss(<4 x float> %a, <4 x float> %b) {
226 ; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.div.ss(<4 x float> %a, <4 x flo…
227 ; CHECK-NEXT: ret <4 x float> [[TMP1]]
229 %1 = insertelement <4 x float> %b, float 1.000000e+00, i32 1
230 %2 = insertelement <4 x float> %1, float 2.000000e+00, i32 2
231 %3 = insertelement <4 x float> %2, float 3.000000e+00, i32 3
232 %4 = tail call <4 x float> @llvm.x86.sse.div.ss(<4 x float> %a, <4 x float> %3)
233 ret <4 x float> %4
241 %1 = insertelement <4 x float> undef, float %a, i32 0
242 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
243 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
244 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
245 %5 = insertelement <4 x float> undef, float %b, i32 0
246 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
247 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
248 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
249 %9 = tail call <4 x float> @llvm.x86.sse.div.ss(<4 x float> %4, <4 x float> %8)
250 %r = extractelement <4 x float> %9, i32 0
258 %1 = insertelement <4 x float> undef, float %a, i32 0
259 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
260 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
261 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
262 %5 = insertelement <4 x float> undef, float %b, i32 0
263 %6 = tail call <4 x float> @llvm.x86.sse.div.ss(<4 x float> %4, <4 x float> %5)
264 %7 = extractelement <4 x float> %6, i32 1
268 define <4 x float> @test_min_ss(<4 x float> %a, <4 x float> %b) {
270 ; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.min.ss(<4 x float> %a, <4 x flo…
271 ; CHECK-NEXT: ret <4 x float> [[TMP1]]
273 %1 = insertelement <4 x float> %b, float 1.000000e+00, i32 1
274 %2 = insertelement <4 x float> %1, float 2.000000e+00, i32 2
275 %3 = insertelement <4 x float> %2, float 3.000000e+00, i32 3
276 %4 = tail call <4 x float> @llvm.x86.sse.min.ss(<4 x float> %a, <4 x float> %3)
277 ret <4 x float> %4
282 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
283 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
284 ; CHECK-NEXT: [[TMP3:%.*]] = tail call <4 x float> @llvm.x86.sse.min.ss(<4 x float> [[TMP1]], <4
285 ; CHECK-NEXT: [[TMP4:%.*]] = extractelement <4 x float> [[TMP3]], i32 0
288 %1 = insertelement <4 x float> undef, float %a, i32 0
289 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
290 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
291 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
292 %5 = insertelement <4 x float> undef, float %b, i32 0
293 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
294 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
295 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
296 %9 = tail call <4 x float> @llvm.x86.sse.min.ss(<4 x float> %4, <4 x float> %8)
297 %10 = extractelement <4 x float> %9, i32 0
305 %1 = insertelement <4 x float> undef, float %a, i32 0
306 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
307 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
308 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
309 %5 = insertelement <4 x float> undef, float %b, i32 0
310 %6 = tail call <4 x float> @llvm.x86.sse.min.ss(<4 x float> %4, <4 x float> %5)
311 %7 = extractelement <4 x float> %6, i32 2
315 define <4 x float> @test_max_ss(<4 x float> %a, <4 x float> %b) {
317 ; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.max.ss(<4 x float> %a, <4 x flo…
318 ; CHECK-NEXT: ret <4 x float> [[TMP1]]
320 %1 = insertelement <4 x float> %b, float 1.000000e+00, i32 1
321 %2 = insertelement <4 x float> %1, float 2.000000e+00, i32 2
322 %3 = insertelement <4 x float> %2, float 3.000000e+00, i32 3
323 %4 = tail call <4 x float> @llvm.x86.sse.max.ss(<4 x float> %a, <4 x float> %3)
324 ret <4 x float> %4
329 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
330 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
331 ; CHECK-NEXT: [[TMP3:%.*]] = tail call <4 x float> @llvm.x86.sse.max.ss(<4 x float> [[TMP1]], <4
332 ; CHECK-NEXT: [[TMP4:%.*]] = extractelement <4 x float> [[TMP3]], i32 0
335 %1 = insertelement <4 x float> undef, float %a, i32 0
336 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
337 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
338 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
339 %5 = insertelement <4 x float> undef, float %b, i32 0
340 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
341 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
342 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
343 %9 = tail call <4 x float> @llvm.x86.sse.max.ss(<4 x float> %4, <4 x float> %8)
344 %10 = extractelement <4 x float> %9, i32 0
352 %1 = insertelement <4 x float> undef, float %a, i32 0
353 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
354 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
355 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
356 %5 = insertelement <4 x float> undef, float %b, i32 0
357 %6 = tail call <4 x float> @llvm.x86.sse.max.ss(<4 x float> %4, <4 x float> %5)
358 %7 = extractelement <4 x float> %6, i32 3
362 define <4 x float> @test_cmp_ss(<4 x float> %a, <4 x float> %b) {
364 ; CHECK-NEXT: [[TMP1:%.*]] = tail call <4 x float> @llvm.x86.sse.cmp.ss(<4 x float> %a, <4 x flo…
365 ; CHECK-NEXT: ret <4 x float> [[TMP1]]
367 %1 = insertelement <4 x float> %b, float 1.000000e+00, i32 1
368 %2 = insertelement <4 x float> %1, float 2.000000e+00, i32 2
369 %3 = insertelement <4 x float> %2, float 3.000000e+00, i32 3
370 %4 = tail call <4 x float> @llvm.x86.sse.cmp.ss(<4 x float> %a, <4 x float> %3, i8 0)
371 ret <4 x float> %4
376 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
377 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
378 ; CHECK-NEXT: [[TMP3:%.*]] = tail call <4 x float> @llvm.x86.sse.cmp.ss(<4 x float> [[TMP1]], <4
379 ; CHECK-NEXT: [[R:%.*]] = extractelement <4 x float> [[TMP3]], i32 0
382 %1 = insertelement <4 x float> undef, float %a, i32 0
383 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
384 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
385 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
386 %5 = insertelement <4 x float> undef, float %b, i32 0
387 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
388 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
389 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
390 %9 = tail call <4 x float> @llvm.x86.sse.cmp.ss(<4 x float> %4, <4 x float> %8, i8 0)
391 %r = extractelement <4 x float> %9, i32 0
399 %1 = insertelement <4 x float> undef, float %a, i32 0
400 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
401 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
402 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
403 %5 = insertelement <4 x float> undef, float %b, i32 0
404 %6 = tail call <4 x float> @llvm.x86.sse.cmp.ss(<4 x float> %4, <4 x float> %5, i8 0)
405 %7 = extractelement <4 x float> %6, i32 1
411 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
412 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
413 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comieq.ss(<4 x float> [[TMP1]], <4 x fl…
416 %1 = insertelement <4 x float> undef, float %a, i32 0
417 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
418 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
419 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
420 %5 = insertelement <4 x float> undef, float %b, i32 0
421 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
422 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
423 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
424 %9 = tail call i32 @llvm.x86.sse.comieq.ss(<4 x float> %4, <4 x float> %8)
430 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
431 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
432 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comige.ss(<4 x float> [[TMP1]], <4 x fl…
435 %1 = insertelement <4 x float> undef, float %a, i32 0
436 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
437 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
438 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
439 %5 = insertelement <4 x float> undef, float %b, i32 0
440 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
441 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
442 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
443 %9 = tail call i32 @llvm.x86.sse.comige.ss(<4 x float> %4, <4 x float> %8)
449 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
450 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
451 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comigt.ss(<4 x float> [[TMP1]], <4 x fl…
454 %1 = insertelement <4 x float> undef, float %a, i32 0
455 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
456 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
457 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
458 %5 = insertelement <4 x float> undef, float %b, i32 0
459 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
460 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
461 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
462 %9 = tail call i32 @llvm.x86.sse.comigt.ss(<4 x float> %4, <4 x float> %8)
468 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
469 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
470 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comile.ss(<4 x float> [[TMP1]], <4 x fl…
473 %1 = insertelement <4 x float> undef, float %a, i32 0
474 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
475 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
476 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
477 %5 = insertelement <4 x float> undef, float %b, i32 0
478 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
479 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
480 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
481 %9 = tail call i32 @llvm.x86.sse.comile.ss(<4 x float> %4, <4 x float> %8)
487 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
488 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
489 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comilt.ss(<4 x float> [[TMP1]], <4 x fl…
492 %1 = insertelement <4 x float> undef, float %a, i32 0
493 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
494 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
495 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
496 %5 = insertelement <4 x float> undef, float %b, i32 0
497 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
498 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
499 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
500 %9 = tail call i32 @llvm.x86.sse.comilt.ss(<4 x float> %4, <4 x float> %8)
506 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
507 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
508 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.comineq.ss(<4 x float> [[TMP1]], <4 x f…
511 %1 = insertelement <4 x float> undef, float %a, i32 0
512 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
513 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
514 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
515 %5 = insertelement <4 x float> undef, float %b, i32 0
516 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
517 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
518 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
519 %9 = tail call i32 @llvm.x86.sse.comineq.ss(<4 x float> %4, <4 x float> %8)
525 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
526 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
527 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomieq.ss(<4 x float> [[TMP1]], <4 x f…
530 %1 = insertelement <4 x float> undef, float %a, i32 0
531 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
532 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
533 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
534 %5 = insertelement <4 x float> undef, float %b, i32 0
535 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
536 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
537 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
538 %9 = tail call i32 @llvm.x86.sse.ucomieq.ss(<4 x float> %4, <4 x float> %8)
544 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
545 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
546 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomige.ss(<4 x float> [[TMP1]], <4 x f…
549 %1 = insertelement <4 x float> undef, float %a, i32 0
550 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
551 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
552 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
553 %5 = insertelement <4 x float> undef, float %b, i32 0
554 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
555 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
556 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
557 %9 = tail call i32 @llvm.x86.sse.ucomige.ss(<4 x float> %4, <4 x float> %8)
563 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
564 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
565 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomigt.ss(<4 x float> [[TMP1]], <4 x f…
568 %1 = insertelement <4 x float> undef, float %a, i32 0
569 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
570 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
571 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
572 %5 = insertelement <4 x float> undef, float %b, i32 0
573 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
574 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
575 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
576 %9 = tail call i32 @llvm.x86.sse.ucomigt.ss(<4 x float> %4, <4 x float> %8)
582 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
583 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
584 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomile.ss(<4 x float> [[TMP1]], <4 x f…
587 %1 = insertelement <4 x float> undef, float %a, i32 0
588 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
589 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
590 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
591 %5 = insertelement <4 x float> undef, float %b, i32 0
592 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
593 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
594 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
595 %9 = tail call i32 @llvm.x86.sse.ucomile.ss(<4 x float> %4, <4 x float> %8)
601 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
602 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
603 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomilt.ss(<4 x float> [[TMP1]], <4 x f…
606 %1 = insertelement <4 x float> undef, float %a, i32 0
607 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
608 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
609 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
610 %5 = insertelement <4 x float> undef, float %b, i32 0
611 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
612 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
613 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
614 %9 = tail call i32 @llvm.x86.sse.ucomilt.ss(<4 x float> %4, <4 x float> %8)
620 ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x float> undef, float %a, i32 0
621 ; CHECK-NEXT: [[TMP2:%.*]] = insertelement <4 x float> undef, float %b, i32 0
622 ; CHECK-NEXT: [[TMP3:%.*]] = tail call i32 @llvm.x86.sse.ucomineq.ss(<4 x float> [[TMP1]], <4 x
625 %1 = insertelement <4 x float> undef, float %a, i32 0
626 %2 = insertelement <4 x float> %1, float 1.000000e+00, i32 1
627 %3 = insertelement <4 x float> %2, float 2.000000e+00, i32 2
628 %4 = insertelement <4 x float> %3, float 3.000000e+00, i32 3
629 %5 = insertelement <4 x float> undef, float %b, i32 0
630 %6 = insertelement <4 x float> %5, float 4.000000e+00, i32 1
631 %7 = insertelement <4 x float> %6, float 5.000000e+00, i32 2
632 %8 = insertelement <4 x float> %7, float 6.000000e+00, i32 3
633 %9 = tail call i32 @llvm.x86.sse.ucomineq.ss(<4 x float> %4, <4 x float> %8)
637 declare <4 x float> @llvm.x86.sse.rcp.ss(<4 x float>)
638 declare <4 x float> @llvm.x86.sse.sqrt.ss(<4 x float>)
639 declare <4 x float> @llvm.x86.sse.rsqrt.ss(<4 x float>)
641 declare <4 x float> @llvm.x86.sse.add.ss(<4 x float>, <4 x float>)
642 declare <4 x float> @llvm.x86.sse.sub.ss(<4 x float>, <4 x float>)
643 declare <4 x float> @llvm.x86.sse.mul.ss(<4 x float>, <4 x float>)
644 declare <4 x float> @llvm.x86.sse.div.ss(<4 x float>, <4 x float>)
645 declare <4 x float> @llvm.x86.sse.min.ss(<4 x float>, <4 x float>)
646 declare <4 x float> @llvm.x86.sse.max.ss(<4 x float>, <4 x float>)
647 declare <4 x float> @llvm.x86.sse.cmp.ss(<4 x float>, <4 x float>, i8)
649 declare i32 @llvm.x86.sse.comieq.ss(<4 x float>, <4 x float>)
650 declare i32 @llvm.x86.sse.comige.ss(<4 x float>, <4 x float>)
651 declare i32 @llvm.x86.sse.comigt.ss(<4 x float>, <4 x float>)
652 declare i32 @llvm.x86.sse.comile.ss(<4 x float>, <4 x float>)
653 declare i32 @llvm.x86.sse.comilt.ss(<4 x float>, <4 x float>)
654 declare i32 @llvm.x86.sse.comineq.ss(<4 x float>, <4 x float>)
656 declare i32 @llvm.x86.sse.ucomieq.ss(<4 x float>, <4 x float>)
657 declare i32 @llvm.x86.sse.ucomige.ss(<4 x float>, <4 x float>)
658 declare i32 @llvm.x86.sse.ucomigt.ss(<4 x float>, <4 x float>)
659 declare i32 @llvm.x86.sse.ucomile.ss(<4 x float>, <4 x float>)
660 declare i32 @llvm.x86.sse.ucomilt.ss(<4 x float>, <4 x float>)
661 declare i32 @llvm.x86.sse.ucomineq.ss(<4 x float>, <4 x float>)