1 ; RUN: opt < %s -cost-model -analyze -mtriple=systemz-unknown -mcpu=z13 | FileCheck %s
3 ; Note: Cost estimates of select of a fp-type is somewhat arbitrary, since it
4 ; involves a conditional jump.
5 ; Note: Vector fp32 is not directly supported, and not quite exact in
6 ; estimates (but it is big absolute values).
8 define i8 @fun0(i8 %val1, i8 %val2,
10 %cmp = icmp eq i8 %val1, %val2
11 %sel = select i1 %cmp, i8 %val3, i8 %val4
15 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
16 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i8 %val3, i8 %val4
19 define i16 @fun1(i8 %val1, i8 %val2,
20 i16 %val3, i16 %val4) {
21 %cmp = icmp eq i8 %val1, %val2
22 %sel = select i1 %cmp, i16 %val3, i16 %val4
26 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
27 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i16 %val3, i16 %val4
30 define i32 @fun2(i8 %val1, i8 %val2,
31 i32 %val3, i32 %val4) {
32 %cmp = icmp eq i8 %val1, %val2
33 %sel = select i1 %cmp, i32 %val3, i32 %val4
37 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
38 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i32 %val3, i32 %val4
41 define i64 @fun3(i8 %val1, i8 %val2,
42 i64 %val3, i64 %val4) {
43 %cmp = icmp eq i8 %val1, %val2
44 %sel = select i1 %cmp, i64 %val3, i64 %val4
48 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
49 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i64 %val3, i64 %val4
52 define float @fun4(i8 %val1, i8 %val2,
53 float %val3, float %val4) {
54 %cmp = icmp eq i8 %val1, %val2
55 %sel = select i1 %cmp, float %val3, float %val4
59 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
60 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, float %val3, float %val4
63 define double @fun5(i8 %val1, i8 %val2,
64 double %val3, double %val4) {
65 %cmp = icmp eq i8 %val1, %val2
66 %sel = select i1 %cmp, double %val3, double %val4
70 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
71 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, double %val3, double %val4
74 define i8 @fun6(i16 %val1, i16 %val2,
76 %cmp = icmp eq i16 %val1, %val2
77 %sel = select i1 %cmp, i8 %val3, i8 %val4
81 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
82 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i8 %val3, i8 %val4
85 define i16 @fun7(i16 %val1, i16 %val2,
86 i16 %val3, i16 %val4) {
87 %cmp = icmp eq i16 %val1, %val2
88 %sel = select i1 %cmp, i16 %val3, i16 %val4
92 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
93 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i16 %val3, i16 %val4
96 define i32 @fun8(i16 %val1, i16 %val2,
97 i32 %val3, i32 %val4) {
98 %cmp = icmp eq i16 %val1, %val2
99 %sel = select i1 %cmp, i32 %val3, i32 %val4
103 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
104 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i32 %val3, i32 %val4
107 define i64 @fun9(i16 %val1, i16 %val2,
108 i64 %val3, i64 %val4) {
109 %cmp = icmp eq i16 %val1, %val2
110 %sel = select i1 %cmp, i64 %val3, i64 %val4
114 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
115 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i64 %val3, i64 %val4
118 define float @fun10(i16 %val1, i16 %val2,
119 float %val3, float %val4) {
120 %cmp = icmp eq i16 %val1, %val2
121 %sel = select i1 %cmp, float %val3, float %val4
125 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
126 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, float %val3, float %val4
129 define double @fun11(i16 %val1, i16 %val2,
130 double %val3, double %val4) {
131 %cmp = icmp eq i16 %val1, %val2
132 %sel = select i1 %cmp, double %val3, double %val4
136 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
137 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, double %val3, double %val4
140 define i8 @fun12(i32 %val1, i32 %val2,
141 i8 %val3, i8 %val4) {
142 %cmp = icmp eq i32 %val1, %val2
143 %sel = select i1 %cmp, i8 %val3, i8 %val4
147 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
148 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i8 %val3, i8 %val4
151 define i16 @fun13(i32 %val1, i32 %val2,
152 i16 %val3, i16 %val4) {
153 %cmp = icmp eq i32 %val1, %val2
154 %sel = select i1 %cmp, i16 %val3, i16 %val4
158 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
159 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i16 %val3, i16 %val4
162 define i32 @fun14(i32 %val1, i32 %val2,
163 i32 %val3, i32 %val4) {
164 %cmp = icmp eq i32 %val1, %val2
165 %sel = select i1 %cmp, i32 %val3, i32 %val4
169 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
170 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i32 %val3, i32 %val4
173 define i64 @fun15(i32 %val1, i32 %val2,
174 i64 %val3, i64 %val4) {
175 %cmp = icmp eq i32 %val1, %val2
176 %sel = select i1 %cmp, i64 %val3, i64 %val4
180 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
181 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i64 %val3, i64 %val4
184 define float @fun16(i32 %val1, i32 %val2,
185 float %val3, float %val4) {
186 %cmp = icmp eq i32 %val1, %val2
187 %sel = select i1 %cmp, float %val3, float %val4
191 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
192 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, float %val3, float %val4
195 define double @fun17(i32 %val1, i32 %val2,
196 double %val3, double %val4) {
197 %cmp = icmp eq i32 %val1, %val2
198 %sel = select i1 %cmp, double %val3, double %val4
202 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
203 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, double %val3, double %val4
206 define i8 @fun18(i64 %val1, i64 %val2,
207 i8 %val3, i8 %val4) {
208 %cmp = icmp eq i64 %val1, %val2
209 %sel = select i1 %cmp, i8 %val3, i8 %val4
213 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
214 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i8 %val3, i8 %val4
217 define i16 @fun19(i64 %val1, i64 %val2,
218 i16 %val3, i16 %val4) {
219 %cmp = icmp eq i64 %val1, %val2
220 %sel = select i1 %cmp, i16 %val3, i16 %val4
224 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
225 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i16 %val3, i16 %val4
228 define i32 @fun20(i64 %val1, i64 %val2,
229 i32 %val3, i32 %val4) {
230 %cmp = icmp eq i64 %val1, %val2
231 %sel = select i1 %cmp, i32 %val3, i32 %val4
235 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
236 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i32 %val3, i32 %val4
239 define i64 @fun21(i64 %val1, i64 %val2,
240 i64 %val3, i64 %val4) {
241 %cmp = icmp eq i64 %val1, %val2
242 %sel = select i1 %cmp, i64 %val3, i64 %val4
246 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
247 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i64 %val3, i64 %val4
250 define float @fun22(i64 %val1, i64 %val2,
251 float %val3, float %val4) {
252 %cmp = icmp eq i64 %val1, %val2
253 %sel = select i1 %cmp, float %val3, float %val4
257 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
258 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, float %val3, float %val4
261 define double @fun23(i64 %val1, i64 %val2,
262 double %val3, double %val4) {
263 %cmp = icmp eq i64 %val1, %val2
264 %sel = select i1 %cmp, double %val3, double %val4
268 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
269 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, double %val3, double %val4
272 define <2 x i8> @fun24(<2 x i8> %val1, <2 x i8> %val2,
273 <2 x i8> %val3, <2 x i8> %val4) {
274 %cmp = icmp eq <2 x i8> %val1, %val2
275 %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
279 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
280 ; CHECK: cost of 1 for instruction: %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
283 define <2 x i16> @fun25(<2 x i8> %val1, <2 x i8> %val2,
284 <2 x i16> %val3, <2 x i16> %val4) {
285 %cmp = icmp eq <2 x i8> %val1, %val2
286 %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
290 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
291 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
294 define <2 x i32> @fun26(<2 x i8> %val1, <2 x i8> %val2,
295 <2 x i32> %val3, <2 x i32> %val4) {
296 %cmp = icmp eq <2 x i8> %val1, %val2
297 %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
301 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
302 ; CHECK: cost of 3 for instruction: %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
305 define <2 x i64> @fun27(<2 x i8> %val1, <2 x i8> %val2,
306 <2 x i64> %val3, <2 x i64> %val4) {
307 %cmp = icmp eq <2 x i8> %val1, %val2
308 %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
312 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
313 ; CHECK: cost of 4 for instruction: %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
316 define <2 x float> @fun28(<2 x i8> %val1, <2 x i8> %val2,
317 <2 x float> %val3, <2 x float> %val4) {
318 %cmp = icmp eq <2 x i8> %val1, %val2
319 %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
323 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
324 ; CHECK: cost of 3 for instruction: %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
327 define <2 x double> @fun29(<2 x i8> %val1, <2 x i8> %val2,
328 <2 x double> %val3, <2 x double> %val4) {
329 %cmp = icmp eq <2 x i8> %val1, %val2
330 %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
331 ret <2 x double> %sel
334 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
335 ; CHECK: cost of 4 for instruction: %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
338 define <2 x i8> @fun30(<2 x i16> %val1, <2 x i16> %val2,
339 <2 x i8> %val3, <2 x i8> %val4) {
340 %cmp = icmp eq <2 x i16> %val1, %val2
341 %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
345 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
346 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
349 define <2 x i16> @fun31(<2 x i16> %val1, <2 x i16> %val2,
350 <2 x i16> %val3, <2 x i16> %val4) {
351 %cmp = icmp eq <2 x i16> %val1, %val2
352 %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
356 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
357 ; CHECK: cost of 1 for instruction: %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
360 define <2 x i32> @fun32(<2 x i16> %val1, <2 x i16> %val2,
361 <2 x i32> %val3, <2 x i32> %val4) {
362 %cmp = icmp eq <2 x i16> %val1, %val2
363 %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
367 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
368 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
371 define <2 x i64> @fun33(<2 x i16> %val1, <2 x i16> %val2,
372 <2 x i64> %val3, <2 x i64> %val4) {
373 %cmp = icmp eq <2 x i16> %val1, %val2
374 %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
378 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
379 ; CHECK: cost of 3 for instruction: %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
382 define <2 x float> @fun34(<2 x i16> %val1, <2 x i16> %val2,
383 <2 x float> %val3, <2 x float> %val4) {
384 %cmp = icmp eq <2 x i16> %val1, %val2
385 %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
389 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
390 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
393 define <2 x double> @fun35(<2 x i16> %val1, <2 x i16> %val2,
394 <2 x double> %val3, <2 x double> %val4) {
395 %cmp = icmp eq <2 x i16> %val1, %val2
396 %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
397 ret <2 x double> %sel
400 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
401 ; CHECK: cost of 3 for instruction: %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
404 define <2 x i8> @fun36(<2 x i32> %val1, <2 x i32> %val2,
405 <2 x i8> %val3, <2 x i8> %val4) {
406 %cmp = icmp eq <2 x i32> %val1, %val2
407 %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
411 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
412 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
415 define <2 x i16> @fun37(<2 x i32> %val1, <2 x i32> %val2,
416 <2 x i16> %val3, <2 x i16> %val4) {
417 %cmp = icmp eq <2 x i32> %val1, %val2
418 %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
422 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
423 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
426 define <2 x i32> @fun38(<2 x i32> %val1, <2 x i32> %val2,
427 <2 x i32> %val3, <2 x i32> %val4) {
428 %cmp = icmp eq <2 x i32> %val1, %val2
429 %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
433 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
434 ; CHECK: cost of 1 for instruction: %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
437 define <2 x i64> @fun39(<2 x i32> %val1, <2 x i32> %val2,
438 <2 x i64> %val3, <2 x i64> %val4) {
439 %cmp = icmp eq <2 x i32> %val1, %val2
440 %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
444 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
445 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
448 define <2 x float> @fun40(<2 x i32> %val1, <2 x i32> %val2,
449 <2 x float> %val3, <2 x float> %val4) {
450 %cmp = icmp eq <2 x i32> %val1, %val2
451 %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
455 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
456 ; CHECK: cost of 1 for instruction: %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
459 define <2 x double> @fun41(<2 x i32> %val1, <2 x i32> %val2,
460 <2 x double> %val3, <2 x double> %val4) {
461 %cmp = icmp eq <2 x i32> %val1, %val2
462 %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
463 ret <2 x double> %sel
466 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
467 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
470 define <2 x i8> @fun42(<2 x i64> %val1, <2 x i64> %val2,
471 <2 x i8> %val3, <2 x i8> %val4) {
472 %cmp = icmp eq <2 x i64> %val1, %val2
473 %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
477 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
478 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
481 define <2 x i16> @fun43(<2 x i64> %val1, <2 x i64> %val2,
482 <2 x i16> %val3, <2 x i16> %val4) {
483 %cmp = icmp eq <2 x i64> %val1, %val2
484 %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
488 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
489 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
492 define <2 x i32> @fun44(<2 x i64> %val1, <2 x i64> %val2,
493 <2 x i32> %val3, <2 x i32> %val4) {
494 %cmp = icmp eq <2 x i64> %val1, %val2
495 %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
499 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
500 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
503 define <2 x i64> @fun45(<2 x i64> %val1, <2 x i64> %val2,
504 <2 x i64> %val3, <2 x i64> %val4) {
505 %cmp = icmp eq <2 x i64> %val1, %val2
506 %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
510 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
511 ; CHECK: cost of 1 for instruction: %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
514 define <2 x float> @fun46(<2 x i64> %val1, <2 x i64> %val2,
515 <2 x float> %val3, <2 x float> %val4) {
516 %cmp = icmp eq <2 x i64> %val1, %val2
517 %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
521 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
522 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
525 define <2 x double> @fun47(<2 x i64> %val1, <2 x i64> %val2,
526 <2 x double> %val3, <2 x double> %val4) {
527 %cmp = icmp eq <2 x i64> %val1, %val2
528 %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
529 ret <2 x double> %sel
532 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
533 ; CHECK: cost of 1 for instruction: %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
536 define <4 x i8> @fun48(<4 x i8> %val1, <4 x i8> %val2,
537 <4 x i8> %val3, <4 x i8> %val4) {
538 %cmp = icmp eq <4 x i8> %val1, %val2
539 %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
543 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
544 ; CHECK: cost of 1 for instruction: %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
547 define <4 x i16> @fun49(<4 x i8> %val1, <4 x i8> %val2,
548 <4 x i16> %val3, <4 x i16> %val4) {
549 %cmp = icmp eq <4 x i8> %val1, %val2
550 %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
554 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
555 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
558 define <4 x i32> @fun50(<4 x i8> %val1, <4 x i8> %val2,
559 <4 x i32> %val3, <4 x i32> %val4) {
560 %cmp = icmp eq <4 x i8> %val1, %val2
561 %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
565 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
566 ; CHECK: cost of 3 for instruction: %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
569 define <4 x i64> @fun51(<4 x i8> %val1, <4 x i8> %val2,
570 <4 x i64> %val3, <4 x i64> %val4) {
571 %cmp = icmp eq <4 x i8> %val1, %val2
572 %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
576 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
577 ; CHECK: cost of 9 for instruction: %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
580 define <4 x float> @fun52(<4 x i8> %val1, <4 x i8> %val2,
581 <4 x float> %val3, <4 x float> %val4) {
582 %cmp = icmp eq <4 x i8> %val1, %val2
583 %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
587 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
588 ; CHECK: cost of 3 for instruction: %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
591 define <4 x double> @fun53(<4 x i8> %val1, <4 x i8> %val2,
592 <4 x double> %val3, <4 x double> %val4) {
593 %cmp = icmp eq <4 x i8> %val1, %val2
594 %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
595 ret <4 x double> %sel
598 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
599 ; CHECK: cost of 9 for instruction: %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
602 define <4 x i8> @fun54(<4 x i16> %val1, <4 x i16> %val2,
603 <4 x i8> %val3, <4 x i8> %val4) {
604 %cmp = icmp eq <4 x i16> %val1, %val2
605 %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
609 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
610 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
613 define <4 x i16> @fun55(<4 x i16> %val1, <4 x i16> %val2,
614 <4 x i16> %val3, <4 x i16> %val4) {
615 %cmp = icmp eq <4 x i16> %val1, %val2
616 %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
620 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
621 ; CHECK: cost of 1 for instruction: %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
624 define <4 x i32> @fun56(<4 x i16> %val1, <4 x i16> %val2,
625 <4 x i32> %val3, <4 x i32> %val4) {
626 %cmp = icmp eq <4 x i16> %val1, %val2
627 %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
631 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
632 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
635 define <4 x i64> @fun57(<4 x i16> %val1, <4 x i16> %val2,
636 <4 x i64> %val3, <4 x i64> %val4) {
637 %cmp = icmp eq <4 x i16> %val1, %val2
638 %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
642 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
643 ; CHECK: cost of 7 for instruction: %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
646 define <4 x float> @fun58(<4 x i16> %val1, <4 x i16> %val2,
647 <4 x float> %val3, <4 x float> %val4) {
648 %cmp = icmp eq <4 x i16> %val1, %val2
649 %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
653 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
654 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
657 define <4 x double> @fun59(<4 x i16> %val1, <4 x i16> %val2,
658 <4 x double> %val3, <4 x double> %val4) {
659 %cmp = icmp eq <4 x i16> %val1, %val2
660 %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
661 ret <4 x double> %sel
664 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
665 ; CHECK: cost of 7 for instruction: %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
668 define <4 x i8> @fun60(<4 x i32> %val1, <4 x i32> %val2,
669 <4 x i8> %val3, <4 x i8> %val4) {
670 %cmp = icmp eq <4 x i32> %val1, %val2
671 %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
675 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
676 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
679 define <4 x i16> @fun61(<4 x i32> %val1, <4 x i32> %val2,
680 <4 x i16> %val3, <4 x i16> %val4) {
681 %cmp = icmp eq <4 x i32> %val1, %val2
682 %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
686 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
687 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
690 define <4 x i32> @fun62(<4 x i32> %val1, <4 x i32> %val2,
691 <4 x i32> %val3, <4 x i32> %val4) {
692 %cmp = icmp eq <4 x i32> %val1, %val2
693 %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
697 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
698 ; CHECK: cost of 1 for instruction: %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
701 define <4 x i64> @fun63(<4 x i32> %val1, <4 x i32> %val2,
702 <4 x i64> %val3, <4 x i64> %val4) {
703 %cmp = icmp eq <4 x i32> %val1, %val2
704 %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
708 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
709 ; CHECK: cost of 5 for instruction: %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
712 define <4 x float> @fun64(<4 x i32> %val1, <4 x i32> %val2,
713 <4 x float> %val3, <4 x float> %val4) {
714 %cmp = icmp eq <4 x i32> %val1, %val2
715 %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
719 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
720 ; CHECK: cost of 1 for instruction: %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
723 define <4 x double> @fun65(<4 x i32> %val1, <4 x i32> %val2,
724 <4 x double> %val3, <4 x double> %val4) {
725 %cmp = icmp eq <4 x i32> %val1, %val2
726 %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
727 ret <4 x double> %sel
730 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
731 ; CHECK: cost of 5 for instruction: %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
734 define <4 x i8> @fun66(<4 x i64> %val1, <4 x i64> %val2,
735 <4 x i8> %val3, <4 x i8> %val4) {
736 %cmp = icmp eq <4 x i64> %val1, %val2
737 %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
741 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
742 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
745 define <4 x i16> @fun67(<4 x i64> %val1, <4 x i64> %val2,
746 <4 x i16> %val3, <4 x i16> %val4) {
747 %cmp = icmp eq <4 x i64> %val1, %val2
748 %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
752 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
753 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
756 define <4 x i32> @fun68(<4 x i64> %val1, <4 x i64> %val2,
757 <4 x i32> %val3, <4 x i32> %val4) {
758 %cmp = icmp eq <4 x i64> %val1, %val2
759 %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
763 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
764 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
767 define <4 x i64> @fun69(<4 x i64> %val1, <4 x i64> %val2,
768 <4 x i64> %val3, <4 x i64> %val4) {
769 %cmp = icmp eq <4 x i64> %val1, %val2
770 %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
774 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
775 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
778 define <4 x float> @fun70(<4 x i64> %val1, <4 x i64> %val2,
779 <4 x float> %val3, <4 x float> %val4) {
780 %cmp = icmp eq <4 x i64> %val1, %val2
781 %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
785 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
786 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
789 define <4 x double> @fun71(<4 x i64> %val1, <4 x i64> %val2,
790 <4 x double> %val3, <4 x double> %val4) {
791 %cmp = icmp eq <4 x i64> %val1, %val2
792 %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
793 ret <4 x double> %sel
796 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
797 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
800 define <8 x i8> @fun72(<8 x i8> %val1, <8 x i8> %val2,
801 <8 x i8> %val3, <8 x i8> %val4) {
802 %cmp = icmp eq <8 x i8> %val1, %val2
803 %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
807 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
808 ; CHECK: cost of 1 for instruction: %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
811 define <8 x i16> @fun73(<8 x i8> %val1, <8 x i8> %val2,
812 <8 x i16> %val3, <8 x i16> %val4) {
813 %cmp = icmp eq <8 x i8> %val1, %val2
814 %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
818 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
819 ; CHECK: cost of 2 for instruction: %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
822 define <8 x i32> @fun74(<8 x i8> %val1, <8 x i8> %val2,
823 <8 x i32> %val3, <8 x i32> %val4) {
824 %cmp = icmp eq <8 x i8> %val1, %val2
825 %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
829 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
830 ; CHECK: cost of 7 for instruction: %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
833 define <8 x i64> @fun75(<8 x i8> %val1, <8 x i8> %val2,
834 <8 x i64> %val3, <8 x i64> %val4) {
835 %cmp = icmp eq <8 x i8> %val1, %val2
836 %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
840 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
841 ; CHECK: cost of 19 for instruction: %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
844 define <8 x float> @fun76(<8 x i8> %val1, <8 x i8> %val2,
845 <8 x float> %val3, <8 x float> %val4) {
846 %cmp = icmp eq <8 x i8> %val1, %val2
847 %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
851 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
852 ; CHECK: cost of 7 for instruction: %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
855 define <8 x double> @fun77(<8 x i8> %val1, <8 x i8> %val2,
856 <8 x double> %val3, <8 x double> %val4) {
857 %cmp = icmp eq <8 x i8> %val1, %val2
858 %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
859 ret <8 x double> %sel
862 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
863 ; CHECK: cost of 19 for instruction: %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
866 define <8 x i8> @fun78(<8 x i16> %val1, <8 x i16> %val2,
867 <8 x i8> %val3, <8 x i8> %val4) {
868 %cmp = icmp eq <8 x i16> %val1, %val2
869 %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
873 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
874 ; CHECK: cost of 2 for instruction: %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
877 define <8 x i16> @fun79(<8 x i16> %val1, <8 x i16> %val2,
878 <8 x i16> %val3, <8 x i16> %val4) {
879 %cmp = icmp eq <8 x i16> %val1, %val2
880 %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
884 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
885 ; CHECK: cost of 1 for instruction: %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
888 define <8 x i32> @fun80(<8 x i16> %val1, <8 x i16> %val2,
889 <8 x i32> %val3, <8 x i32> %val4) {
890 %cmp = icmp eq <8 x i16> %val1, %val2
891 %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
895 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
896 ; CHECK: cost of 5 for instruction: %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
899 define <8 x i64> @fun81(<8 x i16> %val1, <8 x i16> %val2,
900 <8 x i64> %val3, <8 x i64> %val4) {
901 %cmp = icmp eq <8 x i16> %val1, %val2
902 %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
906 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
907 ; CHECK: cost of 15 for instruction: %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
910 define <8 x float> @fun82(<8 x i16> %val1, <8 x i16> %val2,
911 <8 x float> %val3, <8 x float> %val4) {
912 %cmp = icmp eq <8 x i16> %val1, %val2
913 %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
917 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
918 ; CHECK: cost of 5 for instruction: %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
921 define <8 x double> @fun83(<8 x i16> %val1, <8 x i16> %val2,
922 <8 x double> %val3, <8 x double> %val4) {
923 %cmp = icmp eq <8 x i16> %val1, %val2
924 %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
925 ret <8 x double> %sel
928 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
929 ; CHECK: cost of 15 for instruction: %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
932 define <8 x i8> @fun84(<8 x i32> %val1, <8 x i32> %val2,
933 <8 x i8> %val3, <8 x i8> %val4) {
934 %cmp = icmp eq <8 x i32> %val1, %val2
935 %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
939 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
940 ; CHECK: cost of 2 for instruction: %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
943 define <8 x i16> @fun85(<8 x i32> %val1, <8 x i32> %val2,
944 <8 x i16> %val3, <8 x i16> %val4) {
945 %cmp = icmp eq <8 x i32> %val1, %val2
946 %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
950 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
951 ; CHECK: cost of 2 for instruction: %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
954 define <8 x i32> @fun86(<8 x i32> %val1, <8 x i32> %val2,
955 <8 x i32> %val3, <8 x i32> %val4) {
956 %cmp = icmp eq <8 x i32> %val1, %val2
957 %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
961 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
962 ; CHECK: cost of 2 for instruction: %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
965 define <8 x i64> @fun87(<8 x i32> %val1, <8 x i32> %val2,
966 <8 x i64> %val3, <8 x i64> %val4) {
967 %cmp = icmp eq <8 x i32> %val1, %val2
968 %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
972 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
973 ; CHECK: cost of 11 for instruction: %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
976 define <8 x float> @fun88(<8 x i32> %val1, <8 x i32> %val2,
977 <8 x float> %val3, <8 x float> %val4) {
978 %cmp = icmp eq <8 x i32> %val1, %val2
979 %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
983 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
984 ; CHECK: cost of 2 for instruction: %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
987 define <8 x double> @fun89(<8 x i32> %val1, <8 x i32> %val2,
988 <8 x double> %val3, <8 x double> %val4) {
989 %cmp = icmp eq <8 x i32> %val1, %val2
990 %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
991 ret <8 x double> %sel
994 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
995 ; CHECK: cost of 11 for instruction: %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
998 define <8 x i8> @fun90(<8 x i64> %val1, <8 x i64> %val2,
999 <8 x i8> %val3, <8 x i8> %val4) {
1000 %cmp = icmp eq <8 x i64> %val1, %val2
1001 %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
1005 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
1006 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
1009 define <8 x i16> @fun91(<8 x i64> %val1, <8 x i64> %val2,
1010 <8 x i16> %val3, <8 x i16> %val4) {
1011 %cmp = icmp eq <8 x i64> %val1, %val2
1012 %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
1016 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
1017 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
1020 define <8 x i32> @fun92(<8 x i64> %val1, <8 x i64> %val2,
1021 <8 x i32> %val3, <8 x i32> %val4) {
1022 %cmp = icmp eq <8 x i64> %val1, %val2
1023 %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
1027 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
1028 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
1031 define <8 x i64> @fun93(<8 x i64> %val1, <8 x i64> %val2,
1032 <8 x i64> %val3, <8 x i64> %val4) {
1033 %cmp = icmp eq <8 x i64> %val1, %val2
1034 %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
1038 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
1039 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
1042 define <8 x float> @fun94(<8 x i64> %val1, <8 x i64> %val2,
1043 <8 x float> %val3, <8 x float> %val4) {
1044 %cmp = icmp eq <8 x i64> %val1, %val2
1045 %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
1046 ret <8 x float> %sel
1049 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
1050 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
1053 define <8 x double> @fun95(<8 x i64> %val1, <8 x i64> %val2,
1054 <8 x double> %val3, <8 x double> %val4) {
1055 %cmp = icmp eq <8 x i64> %val1, %val2
1056 %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
1057 ret <8 x double> %sel
1060 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
1061 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
1064 define <16 x i8> @fun96(<16 x i8> %val1, <16 x i8> %val2,
1065 <16 x i8> %val3, <16 x i8> %val4) {
1066 %cmp = icmp eq <16 x i8> %val1, %val2
1067 %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1071 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
1072 ; CHECK: cost of 1 for instruction: %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1075 define <16 x i16> @fun97(<16 x i8> %val1, <16 x i8> %val2,
1076 <16 x i16> %val3, <16 x i16> %val4) {
1077 %cmp = icmp eq <16 x i8> %val1, %val2
1078 %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1082 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
1083 ; CHECK: cost of 5 for instruction: %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1086 define <16 x i32> @fun98(<16 x i8> %val1, <16 x i8> %val2,
1087 <16 x i32> %val3, <16 x i32> %val4) {
1088 %cmp = icmp eq <16 x i8> %val1, %val2
1089 %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1093 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
1094 ; CHECK: cost of 15 for instruction: %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1097 define <16 x i64> @fun99(<16 x i8> %val1, <16 x i8> %val2,
1098 <16 x i64> %val3, <16 x i64> %val4) {
1099 %cmp = icmp eq <16 x i8> %val1, %val2
1100 %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1104 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
1105 ; CHECK: cost of 39 for instruction: %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1108 define <16 x float> @fun100(<16 x i8> %val1, <16 x i8> %val2,
1109 <16 x float> %val3, <16 x float> %val4) {
1110 %cmp = icmp eq <16 x i8> %val1, %val2
1111 %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1112 ret <16 x float> %sel
1115 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
1116 ; CHECK: cost of 15 for instruction: %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1119 define <16 x double> @fun101(<16 x i8> %val1, <16 x i8> %val2,
1120 <16 x double> %val3, <16 x double> %val4) {
1121 %cmp = icmp eq <16 x i8> %val1, %val2
1122 %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1123 ret <16 x double> %sel
1126 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
1127 ; CHECK: cost of 39 for instruction: %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1130 define <16 x i8> @fun102(<16 x i16> %val1, <16 x i16> %val2,
1131 <16 x i8> %val3, <16 x i8> %val4) {
1132 %cmp = icmp eq <16 x i16> %val1, %val2
1133 %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1137 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
1138 ; CHECK: cost of 2 for instruction: %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1141 define <16 x i16> @fun103(<16 x i16> %val1, <16 x i16> %val2,
1142 <16 x i16> %val3, <16 x i16> %val4) {
1143 %cmp = icmp eq <16 x i16> %val1, %val2
1144 %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1148 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
1149 ; CHECK: cost of 2 for instruction: %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1152 define <16 x i32> @fun104(<16 x i16> %val1, <16 x i16> %val2,
1153 <16 x i32> %val3, <16 x i32> %val4) {
1154 %cmp = icmp eq <16 x i16> %val1, %val2
1155 %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1159 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
1160 ; CHECK: cost of 11 for instruction: %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1163 define <16 x i64> @fun105(<16 x i16> %val1, <16 x i16> %val2,
1164 <16 x i64> %val3, <16 x i64> %val4) {
1165 %cmp = icmp eq <16 x i16> %val1, %val2
1166 %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1170 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
1171 ; CHECK: cost of 31 for instruction: %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1174 define <16 x float> @fun106(<16 x i16> %val1, <16 x i16> %val2,
1175 <16 x float> %val3, <16 x float> %val4) {
1176 %cmp = icmp eq <16 x i16> %val1, %val2
1177 %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1178 ret <16 x float> %sel
1181 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
1182 ; CHECK: cost of 11 for instruction: %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1185 define <16 x double> @fun107(<16 x i16> %val1, <16 x i16> %val2,
1186 <16 x double> %val3, <16 x double> %val4) {
1187 %cmp = icmp eq <16 x i16> %val1, %val2
1188 %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1189 ret <16 x double> %sel
1192 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
1193 ; CHECK: cost of 31 for instruction: %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1196 define <16 x i8> @fun108(<16 x i32> %val1, <16 x i32> %val2,
1197 <16 x i8> %val3, <16 x i8> %val4) {
1198 %cmp = icmp eq <16 x i32> %val1, %val2
1199 %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1203 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
1204 ; CHECK: cost of 4 for instruction: %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1207 define <16 x i16> @fun109(<16 x i32> %val1, <16 x i32> %val2,
1208 <16 x i16> %val3, <16 x i16> %val4) {
1209 %cmp = icmp eq <16 x i32> %val1, %val2
1210 %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1214 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
1215 ; CHECK: cost of 4 for instruction: %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1218 define <16 x i32> @fun110(<16 x i32> %val1, <16 x i32> %val2,
1219 <16 x i32> %val3, <16 x i32> %val4) {
1220 %cmp = icmp eq <16 x i32> %val1, %val2
1221 %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1225 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
1226 ; CHECK: cost of 4 for instruction: %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1229 define <16 x i64> @fun111(<16 x i32> %val1, <16 x i32> %val2,
1230 <16 x i64> %val3, <16 x i64> %val4) {
1231 %cmp = icmp eq <16 x i32> %val1, %val2
1232 %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1236 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
1237 ; CHECK: cost of 23 for instruction: %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1240 define <16 x float> @fun112(<16 x i32> %val1, <16 x i32> %val2,
1241 <16 x float> %val3, <16 x float> %val4) {
1242 %cmp = icmp eq <16 x i32> %val1, %val2
1243 %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1244 ret <16 x float> %sel
1247 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
1248 ; CHECK: cost of 4 for instruction: %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1251 define <16 x double> @fun113(<16 x i32> %val1, <16 x i32> %val2,
1252 <16 x double> %val3, <16 x double> %val4) {
1253 %cmp = icmp eq <16 x i32> %val1, %val2
1254 %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1255 ret <16 x double> %sel
1258 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
1259 ; CHECK: cost of 23 for instruction: %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1262 define <16 x i8> @fun114(<16 x i64> %val1, <16 x i64> %val2,
1263 <16 x i8> %val3, <16 x i8> %val4) {
1264 %cmp = icmp eq <16 x i64> %val1, %val2
1265 %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1269 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
1270 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1273 define <16 x i16> @fun115(<16 x i64> %val1, <16 x i64> %val2,
1274 <16 x i16> %val3, <16 x i16> %val4) {
1275 %cmp = icmp eq <16 x i64> %val1, %val2
1276 %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1280 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
1281 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1284 define <16 x i32> @fun116(<16 x i64> %val1, <16 x i64> %val2,
1285 <16 x i32> %val3, <16 x i32> %val4) {
1286 %cmp = icmp eq <16 x i64> %val1, %val2
1287 %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1291 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
1292 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1295 define <16 x i64> @fun117(<16 x i64> %val1, <16 x i64> %val2,
1296 <16 x i64> %val3, <16 x i64> %val4) {
1297 %cmp = icmp eq <16 x i64> %val1, %val2
1298 %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1302 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
1303 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1306 define <16 x float> @fun118(<16 x i64> %val1, <16 x i64> %val2,
1307 <16 x float> %val3, <16 x float> %val4) {
1308 %cmp = icmp eq <16 x i64> %val1, %val2
1309 %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1310 ret <16 x float> %sel
1313 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
1314 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1317 define <16 x double> @fun119(<16 x i64> %val1, <16 x i64> %val2,
1318 <16 x double> %val3, <16 x double> %val4) {
1319 %cmp = icmp eq <16 x i64> %val1, %val2
1320 %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1321 ret <16 x double> %sel
1324 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
1325 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1328 define i8 @fun120(float %val1, float %val2,
1329 i8 %val3, i8 %val4) {
1330 %cmp = fcmp ogt float %val1, %val2
1331 %sel = select i1 %cmp, i8 %val3, i8 %val4
1335 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
1336 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i8 %val3, i8 %val4
1339 define i16 @fun121(float %val1, float %val2,
1340 i16 %val3, i16 %val4) {
1341 %cmp = fcmp ogt float %val1, %val2
1342 %sel = select i1 %cmp, i16 %val3, i16 %val4
1346 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
1347 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i16 %val3, i16 %val4
1350 define i32 @fun122(float %val1, float %val2,
1351 i32 %val3, i32 %val4) {
1352 %cmp = fcmp ogt float %val1, %val2
1353 %sel = select i1 %cmp, i32 %val3, i32 %val4
1357 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
1358 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i32 %val3, i32 %val4
1361 define i64 @fun123(float %val1, float %val2,
1362 i64 %val3, i64 %val4) {
1363 %cmp = fcmp ogt float %val1, %val2
1364 %sel = select i1 %cmp, i64 %val3, i64 %val4
1368 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
1369 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i64 %val3, i64 %val4
1372 define float @fun124(float %val1, float %val2,
1373 float %val3, float %val4) {
1374 %cmp = fcmp ogt float %val1, %val2
1375 %sel = select i1 %cmp, float %val3, float %val4
1379 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
1380 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, float %val3, float %val4
1383 define double @fun125(float %val1, float %val2,
1384 double %val3, double %val4) {
1385 %cmp = fcmp ogt float %val1, %val2
1386 %sel = select i1 %cmp, double %val3, double %val4
1390 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
1391 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, double %val3, double %val4
1394 define i8 @fun126(double %val1, double %val2,
1395 i8 %val3, i8 %val4) {
1396 %cmp = fcmp ogt double %val1, %val2
1397 %sel = select i1 %cmp, i8 %val3, i8 %val4
1401 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
1402 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i8 %val3, i8 %val4
1405 define i16 @fun127(double %val1, double %val2,
1406 i16 %val3, i16 %val4) {
1407 %cmp = fcmp ogt double %val1, %val2
1408 %sel = select i1 %cmp, i16 %val3, i16 %val4
1412 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
1413 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i16 %val3, i16 %val4
1416 define i32 @fun128(double %val1, double %val2,
1417 i32 %val3, i32 %val4) {
1418 %cmp = fcmp ogt double %val1, %val2
1419 %sel = select i1 %cmp, i32 %val3, i32 %val4
1423 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
1424 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i32 %val3, i32 %val4
1427 define i64 @fun129(double %val1, double %val2,
1428 i64 %val3, i64 %val4) {
1429 %cmp = fcmp ogt double %val1, %val2
1430 %sel = select i1 %cmp, i64 %val3, i64 %val4
1434 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
1435 ; CHECK: cost of 1 for instruction: %sel = select i1 %cmp, i64 %val3, i64 %val4
1438 define float @fun130(double %val1, double %val2,
1439 float %val3, float %val4) {
1440 %cmp = fcmp ogt double %val1, %val2
1441 %sel = select i1 %cmp, float %val3, float %val4
1445 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
1446 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, float %val3, float %val4
1449 define double @fun131(double %val1, double %val2,
1450 double %val3, double %val4) {
1451 %cmp = fcmp ogt double %val1, %val2
1452 %sel = select i1 %cmp, double %val3, double %val4
1456 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
1457 ; CHECK: cost of 4 for instruction: %sel = select i1 %cmp, double %val3, double %val4
1460 define <2 x i8> @fun132(<2 x float> %val1, <2 x float> %val2,
1461 <2 x i8> %val3, <2 x i8> %val4) {
1462 %cmp = fcmp ogt <2 x float> %val1, %val2
1463 %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
1467 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
1468 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
1471 define <2 x i16> @fun133(<2 x float> %val1, <2 x float> %val2,
1472 <2 x i16> %val3, <2 x i16> %val4) {
1473 %cmp = fcmp ogt <2 x float> %val1, %val2
1474 %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
1478 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
1479 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
1482 define <2 x i32> @fun134(<2 x float> %val1, <2 x float> %val2,
1483 <2 x i32> %val3, <2 x i32> %val4) {
1484 %cmp = fcmp ogt <2 x float> %val1, %val2
1485 %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
1489 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
1490 ; CHECK: cost of 1 for instruction: %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
1493 define <2 x i64> @fun135(<2 x float> %val1, <2 x float> %val2,
1494 <2 x i64> %val3, <2 x i64> %val4) {
1495 %cmp = fcmp ogt <2 x float> %val1, %val2
1496 %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
1500 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
1501 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
1504 define <2 x float> @fun136(<2 x float> %val1, <2 x float> %val2,
1505 <2 x float> %val3, <2 x float> %val4) {
1506 %cmp = fcmp ogt <2 x float> %val1, %val2
1507 %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
1508 ret <2 x float> %sel
1511 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
1512 ; CHECK: cost of 1 for instruction: %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
1515 define <2 x double> @fun137(<2 x float> %val1, <2 x float> %val2,
1516 <2 x double> %val3, <2 x double> %val4) {
1517 %cmp = fcmp ogt <2 x float> %val1, %val2
1518 %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
1519 ret <2 x double> %sel
1522 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
1523 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
1526 define <2 x i8> @fun138(<2 x double> %val1, <2 x double> %val2,
1527 <2 x i8> %val3, <2 x i8> %val4) {
1528 %cmp = fcmp ogt <2 x double> %val1, %val2
1529 %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
1533 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
1534 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i8> %val3, <2 x i8> %val4
1537 define <2 x i16> @fun139(<2 x double> %val1, <2 x double> %val2,
1538 <2 x i16> %val3, <2 x i16> %val4) {
1539 %cmp = fcmp ogt <2 x double> %val1, %val2
1540 %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
1544 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
1545 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i16> %val3, <2 x i16> %val4
1548 define <2 x i32> @fun140(<2 x double> %val1, <2 x double> %val2,
1549 <2 x i32> %val3, <2 x i32> %val4) {
1550 %cmp = fcmp ogt <2 x double> %val1, %val2
1551 %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
1555 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
1556 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x i32> %val3, <2 x i32> %val4
1559 define <2 x i64> @fun141(<2 x double> %val1, <2 x double> %val2,
1560 <2 x i64> %val3, <2 x i64> %val4) {
1561 %cmp = fcmp ogt <2 x double> %val1, %val2
1562 %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
1566 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
1567 ; CHECK: cost of 1 for instruction: %sel = select <2 x i1> %cmp, <2 x i64> %val3, <2 x i64> %val4
1570 define <2 x float> @fun142(<2 x double> %val1, <2 x double> %val2,
1571 <2 x float> %val3, <2 x float> %val4) {
1572 %cmp = fcmp ogt <2 x double> %val1, %val2
1573 %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
1574 ret <2 x float> %sel
1577 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
1578 ; CHECK: cost of 2 for instruction: %sel = select <2 x i1> %cmp, <2 x float> %val3, <2 x float> %val4
1581 define <2 x double> @fun143(<2 x double> %val1, <2 x double> %val2,
1582 <2 x double> %val3, <2 x double> %val4) {
1583 %cmp = fcmp ogt <2 x double> %val1, %val2
1584 %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
1585 ret <2 x double> %sel
1588 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
1589 ; CHECK: cost of 1 for instruction: %sel = select <2 x i1> %cmp, <2 x double> %val3, <2 x double> %val4
1592 define <4 x i8> @fun144(<4 x float> %val1, <4 x float> %val2,
1593 <4 x i8> %val3, <4 x i8> %val4) {
1594 %cmp = fcmp ogt <4 x float> %val1, %val2
1595 %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
1599 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
1600 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
1603 define <4 x i16> @fun145(<4 x float> %val1, <4 x float> %val2,
1604 <4 x i16> %val3, <4 x i16> %val4) {
1605 %cmp = fcmp ogt <4 x float> %val1, %val2
1606 %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
1610 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
1611 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
1614 define <4 x i32> @fun146(<4 x float> %val1, <4 x float> %val2,
1615 <4 x i32> %val3, <4 x i32> %val4) {
1616 %cmp = fcmp ogt <4 x float> %val1, %val2
1617 %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
1621 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
1622 ; CHECK: cost of 1 for instruction: %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
1625 define <4 x i64> @fun147(<4 x float> %val1, <4 x float> %val2,
1626 <4 x i64> %val3, <4 x i64> %val4) {
1627 %cmp = fcmp ogt <4 x float> %val1, %val2
1628 %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
1632 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
1633 ; CHECK: cost of 5 for instruction: %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
1636 define <4 x float> @fun148(<4 x float> %val1, <4 x float> %val2,
1637 <4 x float> %val3, <4 x float> %val4) {
1638 %cmp = fcmp ogt <4 x float> %val1, %val2
1639 %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
1640 ret <4 x float> %sel
1643 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
1644 ; CHECK: cost of 1 for instruction: %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
1647 define <4 x double> @fun149(<4 x float> %val1, <4 x float> %val2,
1648 <4 x double> %val3, <4 x double> %val4) {
1649 %cmp = fcmp ogt <4 x float> %val1, %val2
1650 %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
1651 ret <4 x double> %sel
1654 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
1655 ; CHECK: cost of 5 for instruction: %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
1658 define <4 x i8> @fun150(<4 x double> %val1, <4 x double> %val2,
1659 <4 x i8> %val3, <4 x i8> %val4) {
1660 %cmp = fcmp ogt <4 x double> %val1, %val2
1661 %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
1665 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
1666 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i8> %val3, <4 x i8> %val4
1669 define <4 x i16> @fun151(<4 x double> %val1, <4 x double> %val2,
1670 <4 x i16> %val3, <4 x i16> %val4) {
1671 %cmp = fcmp ogt <4 x double> %val1, %val2
1672 %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
1676 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
1677 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i16> %val3, <4 x i16> %val4
1680 define <4 x i32> @fun152(<4 x double> %val1, <4 x double> %val2,
1681 <4 x i32> %val3, <4 x i32> %val4) {
1682 %cmp = fcmp ogt <4 x double> %val1, %val2
1683 %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
1687 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
1688 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i32> %val3, <4 x i32> %val4
1691 define <4 x i64> @fun153(<4 x double> %val1, <4 x double> %val2,
1692 <4 x i64> %val3, <4 x i64> %val4) {
1693 %cmp = fcmp ogt <4 x double> %val1, %val2
1694 %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
1698 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
1699 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x i64> %val3, <4 x i64> %val4
1702 define <4 x float> @fun154(<4 x double> %val1, <4 x double> %val2,
1703 <4 x float> %val3, <4 x float> %val4) {
1704 %cmp = fcmp ogt <4 x double> %val1, %val2
1705 %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
1706 ret <4 x float> %sel
1709 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
1710 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x float> %val3, <4 x float> %val4
1713 define <4 x double> @fun155(<4 x double> %val1, <4 x double> %val2,
1714 <4 x double> %val3, <4 x double> %val4) {
1715 %cmp = fcmp ogt <4 x double> %val1, %val2
1716 %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
1717 ret <4 x double> %sel
1720 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
1721 ; CHECK: cost of 2 for instruction: %sel = select <4 x i1> %cmp, <4 x double> %val3, <4 x double> %val4
1724 define <8 x i8> @fun156(<8 x float> %val1, <8 x float> %val2,
1725 <8 x i8> %val3, <8 x i8> %val4) {
1726 %cmp = fcmp ogt <8 x float> %val1, %val2
1727 %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
1731 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
1732 ; CHECK: cost of 2 for instruction: %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
1735 define <8 x i16> @fun157(<8 x float> %val1, <8 x float> %val2,
1736 <8 x i16> %val3, <8 x i16> %val4) {
1737 %cmp = fcmp ogt <8 x float> %val1, %val2
1738 %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
1742 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
1743 ; CHECK: cost of 2 for instruction: %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
1746 define <8 x i32> @fun158(<8 x float> %val1, <8 x float> %val2,
1747 <8 x i32> %val3, <8 x i32> %val4) {
1748 %cmp = fcmp ogt <8 x float> %val1, %val2
1749 %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
1753 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
1754 ; CHECK: cost of 2 for instruction: %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
1757 define <8 x i64> @fun159(<8 x float> %val1, <8 x float> %val2,
1758 <8 x i64> %val3, <8 x i64> %val4) {
1759 %cmp = fcmp ogt <8 x float> %val1, %val2
1760 %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
1764 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
1765 ; CHECK: cost of 11 for instruction: %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
1768 define <8 x float> @fun160(<8 x float> %val1, <8 x float> %val2,
1769 <8 x float> %val3, <8 x float> %val4) {
1770 %cmp = fcmp ogt <8 x float> %val1, %val2
1771 %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
1772 ret <8 x float> %sel
1775 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
1776 ; CHECK: cost of 2 for instruction: %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
1779 define <8 x double> @fun161(<8 x float> %val1, <8 x float> %val2,
1780 <8 x double> %val3, <8 x double> %val4) {
1781 %cmp = fcmp ogt <8 x float> %val1, %val2
1782 %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
1783 ret <8 x double> %sel
1786 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
1787 ; CHECK: cost of 11 for instruction: %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
1790 define <8 x i8> @fun162(<8 x double> %val1, <8 x double> %val2,
1791 <8 x i8> %val3, <8 x i8> %val4) {
1792 %cmp = fcmp ogt <8 x double> %val1, %val2
1793 %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
1797 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
1798 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x i8> %val3, <8 x i8> %val4
1801 define <8 x i16> @fun163(<8 x double> %val1, <8 x double> %val2,
1802 <8 x i16> %val3, <8 x i16> %val4) {
1803 %cmp = fcmp ogt <8 x double> %val1, %val2
1804 %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
1808 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
1809 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x i16> %val3, <8 x i16> %val4
1812 define <8 x i32> @fun164(<8 x double> %val1, <8 x double> %val2,
1813 <8 x i32> %val3, <8 x i32> %val4) {
1814 %cmp = fcmp ogt <8 x double> %val1, %val2
1815 %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
1819 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
1820 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x i32> %val3, <8 x i32> %val4
1823 define <8 x i64> @fun165(<8 x double> %val1, <8 x double> %val2,
1824 <8 x i64> %val3, <8 x i64> %val4) {
1825 %cmp = fcmp ogt <8 x double> %val1, %val2
1826 %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
1830 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
1831 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x i64> %val3, <8 x i64> %val4
1834 define <8 x float> @fun166(<8 x double> %val1, <8 x double> %val2,
1835 <8 x float> %val3, <8 x float> %val4) {
1836 %cmp = fcmp ogt <8 x double> %val1, %val2
1837 %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
1838 ret <8 x float> %sel
1841 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
1842 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x float> %val3, <8 x float> %val4
1845 define <8 x double> @fun167(<8 x double> %val1, <8 x double> %val2,
1846 <8 x double> %val3, <8 x double> %val4) {
1847 %cmp = fcmp ogt <8 x double> %val1, %val2
1848 %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
1849 ret <8 x double> %sel
1852 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
1853 ; CHECK: cost of 4 for instruction: %sel = select <8 x i1> %cmp, <8 x double> %val3, <8 x double> %val4
1856 define <16 x i8> @fun168(<16 x float> %val1, <16 x float> %val2,
1857 <16 x i8> %val3, <16 x i8> %val4) {
1858 %cmp = fcmp ogt <16 x float> %val1, %val2
1859 %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1863 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
1864 ; CHECK: cost of 4 for instruction: %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1867 define <16 x i16> @fun169(<16 x float> %val1, <16 x float> %val2,
1868 <16 x i16> %val3, <16 x i16> %val4) {
1869 %cmp = fcmp ogt <16 x float> %val1, %val2
1870 %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1874 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
1875 ; CHECK: cost of 4 for instruction: %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1878 define <16 x i32> @fun170(<16 x float> %val1, <16 x float> %val2,
1879 <16 x i32> %val3, <16 x i32> %val4) {
1880 %cmp = fcmp ogt <16 x float> %val1, %val2
1881 %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1885 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
1886 ; CHECK: cost of 4 for instruction: %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1889 define <16 x i64> @fun171(<16 x float> %val1, <16 x float> %val2,
1890 <16 x i64> %val3, <16 x i64> %val4) {
1891 %cmp = fcmp ogt <16 x float> %val1, %val2
1892 %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1896 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
1897 ; CHECK: cost of 23 for instruction: %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1900 define <16 x float> @fun172(<16 x float> %val1, <16 x float> %val2,
1901 <16 x float> %val3, <16 x float> %val4) {
1902 %cmp = fcmp ogt <16 x float> %val1, %val2
1903 %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1904 ret <16 x float> %sel
1907 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
1908 ; CHECK: cost of 4 for instruction: %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1911 define <16 x double> @fun173(<16 x float> %val1, <16 x float> %val2,
1912 <16 x double> %val3, <16 x double> %val4) {
1913 %cmp = fcmp ogt <16 x float> %val1, %val2
1914 %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1915 ret <16 x double> %sel
1918 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
1919 ; CHECK: cost of 23 for instruction: %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1922 define <16 x i8> @fun174(<16 x double> %val1, <16 x double> %val2,
1923 <16 x i8> %val3, <16 x i8> %val4) {
1924 %cmp = fcmp ogt <16 x double> %val1, %val2
1925 %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1929 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
1930 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x i8> %val3, <16 x i8> %val4
1933 define <16 x i16> @fun175(<16 x double> %val1, <16 x double> %val2,
1934 <16 x i16> %val3, <16 x i16> %val4) {
1935 %cmp = fcmp ogt <16 x double> %val1, %val2
1936 %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1940 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
1941 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x i16> %val3, <16 x i16> %val4
1944 define <16 x i32> @fun176(<16 x double> %val1, <16 x double> %val2,
1945 <16 x i32> %val3, <16 x i32> %val4) {
1946 %cmp = fcmp ogt <16 x double> %val1, %val2
1947 %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1951 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
1952 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x i32> %val3, <16 x i32> %val4
1955 define <16 x i64> @fun177(<16 x double> %val1, <16 x double> %val2,
1956 <16 x i64> %val3, <16 x i64> %val4) {
1957 %cmp = fcmp ogt <16 x double> %val1, %val2
1958 %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1962 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
1963 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x i64> %val3, <16 x i64> %val4
1966 define <16 x float> @fun178(<16 x double> %val1, <16 x double> %val2,
1967 <16 x float> %val3, <16 x float> %val4) {
1968 %cmp = fcmp ogt <16 x double> %val1, %val2
1969 %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1970 ret <16 x float> %sel
1973 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
1974 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x float> %val3, <16 x float> %val4
1977 define <16 x double> @fun179(<16 x double> %val1, <16 x double> %val2,
1978 <16 x double> %val3, <16 x double> %val4) {
1979 %cmp = fcmp ogt <16 x double> %val1, %val2
1980 %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4
1981 ret <16 x double> %sel
1984 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
1985 ; CHECK: cost of 8 for instruction: %sel = select <16 x i1> %cmp, <16 x double> %val3, <16 x double> %val4