1 ; RUN: opt < %s -cost-model -analyze -mtriple=systemz-unknown -mcpu=z13 | FileCheck %s
4 define i8 @fun0(i8 %val1, i8 %val2) {
5 %cmp = icmp eq i8 %val1, %val2
6 %v = sext i1 %cmp to i8
10 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
11 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i8
14 define i16 @fun1(i8 %val1, i8 %val2) {
15 %cmp = icmp eq i8 %val1, %val2
16 %v = sext i1 %cmp to i16
20 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
21 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i16
24 define i32 @fun2(i8 %val1, i8 %val2) {
25 %cmp = icmp eq i8 %val1, %val2
26 %v = sext i1 %cmp to i32
30 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
31 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i32
34 define i64 @fun3(i8 %val1, i8 %val2) {
35 %cmp = icmp eq i8 %val1, %val2
36 %v = sext i1 %cmp to i64
40 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
41 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i64
44 define i8 @fun4(i16 %val1, i16 %val2) {
45 %cmp = icmp eq i16 %val1, %val2
46 %v = sext i1 %cmp to i8
50 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
51 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i8
54 define i16 @fun5(i16 %val1, i16 %val2) {
55 %cmp = icmp eq i16 %val1, %val2
56 %v = sext i1 %cmp to i16
60 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
61 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i16
64 define i32 @fun6(i16 %val1, i16 %val2) {
65 %cmp = icmp eq i16 %val1, %val2
66 %v = sext i1 %cmp to i32
70 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
71 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i32
74 define i64 @fun7(i16 %val1, i16 %val2) {
75 %cmp = icmp eq i16 %val1, %val2
76 %v = sext i1 %cmp to i64
80 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
81 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i64
84 define i8 @fun8(i32 %val1, i32 %val2) {
85 %cmp = icmp eq i32 %val1, %val2
86 %v = sext i1 %cmp to i8
90 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
91 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i8
94 define i16 @fun9(i32 %val1, i32 %val2) {
95 %cmp = icmp eq i32 %val1, %val2
96 %v = sext i1 %cmp to i16
100 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
101 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i16
104 define i32 @fun10(i32 %val1, i32 %val2) {
105 %cmp = icmp eq i32 %val1, %val2
106 %v = sext i1 %cmp to i32
110 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
111 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i32
114 define i64 @fun11(i32 %val1, i32 %val2) {
115 %cmp = icmp eq i32 %val1, %val2
116 %v = sext i1 %cmp to i64
120 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
121 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i64
124 define i8 @fun12(i64 %val1, i64 %val2) {
125 %cmp = icmp eq i64 %val1, %val2
126 %v = sext i1 %cmp to i8
130 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
131 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i8
134 define i16 @fun13(i64 %val1, i64 %val2) {
135 %cmp = icmp eq i64 %val1, %val2
136 %v = sext i1 %cmp to i16
140 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
141 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i16
144 define i32 @fun14(i64 %val1, i64 %val2) {
145 %cmp = icmp eq i64 %val1, %val2
146 %v = sext i1 %cmp to i32
150 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
151 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i32
154 define i64 @fun15(i64 %val1, i64 %val2) {
155 %cmp = icmp eq i64 %val1, %val2
156 %v = sext i1 %cmp to i64
160 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
161 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i64
164 define i8 @fun16(float %val1, float %val2) {
165 %cmp = fcmp ogt float %val1, %val2
166 %v = sext i1 %cmp to i8
170 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
171 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i8
174 define i16 @fun17(float %val1, float %val2) {
175 %cmp = fcmp ogt float %val1, %val2
176 %v = sext i1 %cmp to i16
180 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
181 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i16
184 define i32 @fun18(float %val1, float %val2) {
185 %cmp = fcmp ogt float %val1, %val2
186 %v = sext i1 %cmp to i32
190 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
191 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i32
194 define i64 @fun19(float %val1, float %val2) {
195 %cmp = fcmp ogt float %val1, %val2
196 %v = sext i1 %cmp to i64
200 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
201 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i64
204 define i8 @fun20(double %val1, double %val2) {
205 %cmp = fcmp ogt double %val1, %val2
206 %v = sext i1 %cmp to i8
210 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
211 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i8
214 define i16 @fun21(double %val1, double %val2) {
215 %cmp = fcmp ogt double %val1, %val2
216 %v = sext i1 %cmp to i16
220 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
221 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i16
224 define i32 @fun22(double %val1, double %val2) {
225 %cmp = fcmp ogt double %val1, %val2
226 %v = sext i1 %cmp to i32
230 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
231 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i32
234 define i64 @fun23(double %val1, double %val2) {
235 %cmp = fcmp ogt double %val1, %val2
236 %v = sext i1 %cmp to i64
240 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
241 ; CHECK: cost of 2 for instruction: %v = sext i1 %cmp to i64
244 define <2 x i8> @fun24(<2 x i8> %val1, <2 x i8> %val2) {
245 %cmp = icmp eq <2 x i8> %val1, %val2
246 %v = sext <2 x i1> %cmp to <2 x i8>
250 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
251 ; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>
254 define <2 x i16> @fun25(<2 x i8> %val1, <2 x i8> %val2) {
255 %cmp = icmp eq <2 x i8> %val1, %val2
256 %v = sext <2 x i1> %cmp to <2 x i16>
260 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
261 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>
264 define <2 x i32> @fun26(<2 x i8> %val1, <2 x i8> %val2) {
265 %cmp = icmp eq <2 x i8> %val1, %val2
266 %v = sext <2 x i1> %cmp to <2 x i32>
270 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
271 ; CHECK: cost of 2 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>
274 define <2 x i64> @fun27(<2 x i8> %val1, <2 x i8> %val2) {
275 %cmp = icmp eq <2 x i8> %val1, %val2
276 %v = sext <2 x i1> %cmp to <2 x i64>
280 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
281 ; CHECK: cost of 3 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>
284 define <2 x i8> @fun28(<2 x i16> %val1, <2 x i16> %val2) {
285 %cmp = icmp eq <2 x i16> %val1, %val2
286 %v = sext <2 x i1> %cmp to <2 x i8>
290 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
291 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>
294 define <2 x i16> @fun29(<2 x i16> %val1, <2 x i16> %val2) {
295 %cmp = icmp eq <2 x i16> %val1, %val2
296 %v = sext <2 x i1> %cmp to <2 x i16>
300 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
301 ; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>
304 define <2 x i32> @fun30(<2 x i16> %val1, <2 x i16> %val2) {
305 %cmp = icmp eq <2 x i16> %val1, %val2
306 %v = sext <2 x i1> %cmp to <2 x i32>
310 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
311 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>
314 define <2 x i64> @fun31(<2 x i16> %val1, <2 x i16> %val2) {
315 %cmp = icmp eq <2 x i16> %val1, %val2
316 %v = sext <2 x i1> %cmp to <2 x i64>
320 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
321 ; CHECK: cost of 2 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>
324 define <2 x i8> @fun32(<2 x i32> %val1, <2 x i32> %val2) {
325 %cmp = icmp eq <2 x i32> %val1, %val2
326 %v = sext <2 x i1> %cmp to <2 x i8>
330 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
331 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>
334 define <2 x i16> @fun33(<2 x i32> %val1, <2 x i32> %val2) {
335 %cmp = icmp eq <2 x i32> %val1, %val2
336 %v = sext <2 x i1> %cmp to <2 x i16>
340 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
341 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>
344 define <2 x i32> @fun34(<2 x i32> %val1, <2 x i32> %val2) {
345 %cmp = icmp eq <2 x i32> %val1, %val2
346 %v = sext <2 x i1> %cmp to <2 x i32>
350 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
351 ; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>
354 define <2 x i64> @fun35(<2 x i32> %val1, <2 x i32> %val2) {
355 %cmp = icmp eq <2 x i32> %val1, %val2
356 %v = sext <2 x i1> %cmp to <2 x i64>
360 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
361 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>
364 define <2 x i8> @fun36(<2 x i64> %val1, <2 x i64> %val2) {
365 %cmp = icmp eq <2 x i64> %val1, %val2
366 %v = sext <2 x i1> %cmp to <2 x i8>
370 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
371 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>
374 define <2 x i16> @fun37(<2 x i64> %val1, <2 x i64> %val2) {
375 %cmp = icmp eq <2 x i64> %val1, %val2
376 %v = sext <2 x i1> %cmp to <2 x i16>
380 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
381 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>
384 define <2 x i32> @fun38(<2 x i64> %val1, <2 x i64> %val2) {
385 %cmp = icmp eq <2 x i64> %val1, %val2
386 %v = sext <2 x i1> %cmp to <2 x i32>
390 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
391 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>
394 define <2 x i64> @fun39(<2 x i64> %val1, <2 x i64> %val2) {
395 %cmp = icmp eq <2 x i64> %val1, %val2
396 %v = sext <2 x i1> %cmp to <2 x i64>
400 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
401 ; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>
404 define <2 x i8> @fun40(<2 x float> %val1, <2 x float> %val2) {
405 %cmp = fcmp ogt <2 x float> %val1, %val2
406 %v = sext <2 x i1> %cmp to <2 x i8>
410 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
411 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>
414 define <2 x i16> @fun41(<2 x float> %val1, <2 x float> %val2) {
415 %cmp = fcmp ogt <2 x float> %val1, %val2
416 %v = sext <2 x i1> %cmp to <2 x i16>
420 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
421 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>
424 define <2 x i32> @fun42(<2 x float> %val1, <2 x float> %val2) {
425 %cmp = fcmp ogt <2 x float> %val1, %val2
426 %v = sext <2 x i1> %cmp to <2 x i32>
430 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
431 ; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>
434 define <2 x i64> @fun43(<2 x float> %val1, <2 x float> %val2) {
435 %cmp = fcmp ogt <2 x float> %val1, %val2
436 %v = sext <2 x i1> %cmp to <2 x i64>
440 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
441 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>
444 define <2 x i8> @fun44(<2 x double> %val1, <2 x double> %val2) {
445 %cmp = fcmp ogt <2 x double> %val1, %val2
446 %v = sext <2 x i1> %cmp to <2 x i8>
450 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
451 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i8>
454 define <2 x i16> @fun45(<2 x double> %val1, <2 x double> %val2) {
455 %cmp = fcmp ogt <2 x double> %val1, %val2
456 %v = sext <2 x i1> %cmp to <2 x i16>
460 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
461 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i16>
464 define <2 x i32> @fun46(<2 x double> %val1, <2 x double> %val2) {
465 %cmp = fcmp ogt <2 x double> %val1, %val2
466 %v = sext <2 x i1> %cmp to <2 x i32>
470 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
471 ; CHECK: cost of 1 for instruction: %v = sext <2 x i1> %cmp to <2 x i32>
474 define <2 x i64> @fun47(<2 x double> %val1, <2 x double> %val2) {
475 %cmp = fcmp ogt <2 x double> %val1, %val2
476 %v = sext <2 x i1> %cmp to <2 x i64>
480 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
481 ; CHECK: cost of 0 for instruction: %v = sext <2 x i1> %cmp to <2 x i64>
484 define <4 x i8> @fun48(<4 x i8> %val1, <4 x i8> %val2) {
485 %cmp = icmp eq <4 x i8> %val1, %val2
486 %v = sext <4 x i1> %cmp to <4 x i8>
490 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
491 ; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>
494 define <4 x i16> @fun49(<4 x i8> %val1, <4 x i8> %val2) {
495 %cmp = icmp eq <4 x i8> %val1, %val2
496 %v = sext <4 x i1> %cmp to <4 x i16>
500 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
501 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>
504 define <4 x i32> @fun50(<4 x i8> %val1, <4 x i8> %val2) {
505 %cmp = icmp eq <4 x i8> %val1, %val2
506 %v = sext <4 x i1> %cmp to <4 x i32>
510 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
511 ; CHECK: cost of 2 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>
514 define <4 x i64> @fun51(<4 x i8> %val1, <4 x i8> %val2) {
515 %cmp = icmp eq <4 x i8> %val1, %val2
516 %v = sext <4 x i1> %cmp to <4 x i64>
520 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
521 ; CHECK: cost of 7 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>
524 define <4 x i8> @fun52(<4 x i16> %val1, <4 x i16> %val2) {
525 %cmp = icmp eq <4 x i16> %val1, %val2
526 %v = sext <4 x i1> %cmp to <4 x i8>
530 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
531 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>
534 define <4 x i16> @fun53(<4 x i16> %val1, <4 x i16> %val2) {
535 %cmp = icmp eq <4 x i16> %val1, %val2
536 %v = sext <4 x i1> %cmp to <4 x i16>
540 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
541 ; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>
544 define <4 x i32> @fun54(<4 x i16> %val1, <4 x i16> %val2) {
545 %cmp = icmp eq <4 x i16> %val1, %val2
546 %v = sext <4 x i1> %cmp to <4 x i32>
550 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
551 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>
554 define <4 x i64> @fun55(<4 x i16> %val1, <4 x i16> %val2) {
555 %cmp = icmp eq <4 x i16> %val1, %val2
556 %v = sext <4 x i1> %cmp to <4 x i64>
560 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
561 ; CHECK: cost of 5 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>
564 define <4 x i8> @fun56(<4 x i32> %val1, <4 x i32> %val2) {
565 %cmp = icmp eq <4 x i32> %val1, %val2
566 %v = sext <4 x i1> %cmp to <4 x i8>
570 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
571 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>
574 define <4 x i16> @fun57(<4 x i32> %val1, <4 x i32> %val2) {
575 %cmp = icmp eq <4 x i32> %val1, %val2
576 %v = sext <4 x i1> %cmp to <4 x i16>
580 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
581 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>
584 define <4 x i32> @fun58(<4 x i32> %val1, <4 x i32> %val2) {
585 %cmp = icmp eq <4 x i32> %val1, %val2
586 %v = sext <4 x i1> %cmp to <4 x i32>
590 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
591 ; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>
594 define <4 x i64> @fun59(<4 x i32> %val1, <4 x i32> %val2) {
595 %cmp = icmp eq <4 x i32> %val1, %val2
596 %v = sext <4 x i1> %cmp to <4 x i64>
600 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
601 ; CHECK: cost of 3 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>
604 define <4 x i8> @fun60(<4 x i64> %val1, <4 x i64> %val2) {
605 %cmp = icmp eq <4 x i64> %val1, %val2
606 %v = sext <4 x i1> %cmp to <4 x i8>
610 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
611 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>
614 define <4 x i16> @fun61(<4 x i64> %val1, <4 x i64> %val2) {
615 %cmp = icmp eq <4 x i64> %val1, %val2
616 %v = sext <4 x i1> %cmp to <4 x i16>
620 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
621 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>
624 define <4 x i32> @fun62(<4 x i64> %val1, <4 x i64> %val2) {
625 %cmp = icmp eq <4 x i64> %val1, %val2
626 %v = sext <4 x i1> %cmp to <4 x i32>
630 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
631 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>
634 define <4 x i64> @fun63(<4 x i64> %val1, <4 x i64> %val2) {
635 %cmp = icmp eq <4 x i64> %val1, %val2
636 %v = sext <4 x i1> %cmp to <4 x i64>
640 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
641 ; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>
644 define <4 x i8> @fun64(<4 x float> %val1, <4 x float> %val2) {
645 %cmp = fcmp ogt <4 x float> %val1, %val2
646 %v = sext <4 x i1> %cmp to <4 x i8>
650 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
651 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>
654 define <4 x i16> @fun65(<4 x float> %val1, <4 x float> %val2) {
655 %cmp = fcmp ogt <4 x float> %val1, %val2
656 %v = sext <4 x i1> %cmp to <4 x i16>
660 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
661 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>
664 define <4 x i32> @fun66(<4 x float> %val1, <4 x float> %val2) {
665 %cmp = fcmp ogt <4 x float> %val1, %val2
666 %v = sext <4 x i1> %cmp to <4 x i32>
670 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
671 ; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>
674 define <4 x i64> @fun67(<4 x float> %val1, <4 x float> %val2) {
675 %cmp = fcmp ogt <4 x float> %val1, %val2
676 %v = sext <4 x i1> %cmp to <4 x i64>
680 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
681 ; CHECK: cost of 3 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>
684 define <4 x i8> @fun68(<4 x double> %val1, <4 x double> %val2) {
685 %cmp = fcmp ogt <4 x double> %val1, %val2
686 %v = sext <4 x i1> %cmp to <4 x i8>
690 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
691 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i8>
694 define <4 x i16> @fun69(<4 x double> %val1, <4 x double> %val2) {
695 %cmp = fcmp ogt <4 x double> %val1, %val2
696 %v = sext <4 x i1> %cmp to <4 x i16>
700 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
701 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i16>
704 define <4 x i32> @fun70(<4 x double> %val1, <4 x double> %val2) {
705 %cmp = fcmp ogt <4 x double> %val1, %val2
706 %v = sext <4 x i1> %cmp to <4 x i32>
710 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
711 ; CHECK: cost of 1 for instruction: %v = sext <4 x i1> %cmp to <4 x i32>
714 define <4 x i64> @fun71(<4 x double> %val1, <4 x double> %val2) {
715 %cmp = fcmp ogt <4 x double> %val1, %val2
716 %v = sext <4 x i1> %cmp to <4 x i64>
720 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
721 ; CHECK: cost of 0 for instruction: %v = sext <4 x i1> %cmp to <4 x i64>
724 define <8 x i8> @fun72(<8 x i8> %val1, <8 x i8> %val2) {
725 %cmp = icmp eq <8 x i8> %val1, %val2
726 %v = sext <8 x i1> %cmp to <8 x i8>
730 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
731 ; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>
734 define <8 x i16> @fun73(<8 x i8> %val1, <8 x i8> %val2) {
735 %cmp = icmp eq <8 x i8> %val1, %val2
736 %v = sext <8 x i1> %cmp to <8 x i16>
740 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
741 ; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>
744 define <8 x i32> @fun74(<8 x i8> %val1, <8 x i8> %val2) {
745 %cmp = icmp eq <8 x i8> %val1, %val2
746 %v = sext <8 x i1> %cmp to <8 x i32>
750 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
751 ; CHECK: cost of 5 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>
754 define <8 x i64> @fun75(<8 x i8> %val1, <8 x i8> %val2) {
755 %cmp = icmp eq <8 x i8> %val1, %val2
756 %v = sext <8 x i1> %cmp to <8 x i64>
760 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
761 ; CHECK: cost of 15 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>
764 define <8 x i8> @fun76(<8 x i16> %val1, <8 x i16> %val2) {
765 %cmp = icmp eq <8 x i16> %val1, %val2
766 %v = sext <8 x i1> %cmp to <8 x i8>
770 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
771 ; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>
774 define <8 x i16> @fun77(<8 x i16> %val1, <8 x i16> %val2) {
775 %cmp = icmp eq <8 x i16> %val1, %val2
776 %v = sext <8 x i1> %cmp to <8 x i16>
780 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
781 ; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>
784 define <8 x i32> @fun78(<8 x i16> %val1, <8 x i16> %val2) {
785 %cmp = icmp eq <8 x i16> %val1, %val2
786 %v = sext <8 x i1> %cmp to <8 x i32>
790 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
791 ; CHECK: cost of 3 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>
794 define <8 x i64> @fun79(<8 x i16> %val1, <8 x i16> %val2) {
795 %cmp = icmp eq <8 x i16> %val1, %val2
796 %v = sext <8 x i1> %cmp to <8 x i64>
800 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
801 ; CHECK: cost of 11 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>
804 define <8 x i8> @fun80(<8 x i32> %val1, <8 x i32> %val2) {
805 %cmp = icmp eq <8 x i32> %val1, %val2
806 %v = sext <8 x i1> %cmp to <8 x i8>
810 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
811 ; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>
814 define <8 x i16> @fun81(<8 x i32> %val1, <8 x i32> %val2) {
815 %cmp = icmp eq <8 x i32> %val1, %val2
816 %v = sext <8 x i1> %cmp to <8 x i16>
820 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
821 ; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>
824 define <8 x i32> @fun82(<8 x i32> %val1, <8 x i32> %val2) {
825 %cmp = icmp eq <8 x i32> %val1, %val2
826 %v = sext <8 x i1> %cmp to <8 x i32>
830 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
831 ; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>
834 define <8 x i64> @fun83(<8 x i32> %val1, <8 x i32> %val2) {
835 %cmp = icmp eq <8 x i32> %val1, %val2
836 %v = sext <8 x i1> %cmp to <8 x i64>
840 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
841 ; CHECK: cost of 7 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>
844 define <8 x i8> @fun84(<8 x i64> %val1, <8 x i64> %val2) {
845 %cmp = icmp eq <8 x i64> %val1, %val2
846 %v = sext <8 x i1> %cmp to <8 x i8>
850 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
851 ; CHECK: cost of 3 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>
854 define <8 x i16> @fun85(<8 x i64> %val1, <8 x i64> %val2) {
855 %cmp = icmp eq <8 x i64> %val1, %val2
856 %v = sext <8 x i1> %cmp to <8 x i16>
860 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
861 ; CHECK: cost of 3 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>
864 define <8 x i32> @fun86(<8 x i64> %val1, <8 x i64> %val2) {
865 %cmp = icmp eq <8 x i64> %val1, %val2
866 %v = sext <8 x i1> %cmp to <8 x i32>
870 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
871 ; CHECK: cost of 2 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>
874 define <8 x i64> @fun87(<8 x i64> %val1, <8 x i64> %val2) {
875 %cmp = icmp eq <8 x i64> %val1, %val2
876 %v = sext <8 x i1> %cmp to <8 x i64>
880 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
881 ; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>
884 define <8 x i8> @fun88(<8 x float> %val1, <8 x float> %val2) {
885 %cmp = fcmp ogt <8 x float> %val1, %val2
886 %v = sext <8 x i1> %cmp to <8 x i8>
890 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
891 ; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>
894 define <8 x i16> @fun89(<8 x float> %val1, <8 x float> %val2) {
895 %cmp = fcmp ogt <8 x float> %val1, %val2
896 %v = sext <8 x i1> %cmp to <8 x i16>
900 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
901 ; CHECK: cost of 1 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>
904 define <8 x i32> @fun90(<8 x float> %val1, <8 x float> %val2) {
905 %cmp = fcmp ogt <8 x float> %val1, %val2
906 %v = sext <8 x i1> %cmp to <8 x i32>
910 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
911 ; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>
914 define <8 x i64> @fun91(<8 x float> %val1, <8 x float> %val2) {
915 %cmp = fcmp ogt <8 x float> %val1, %val2
916 %v = sext <8 x i1> %cmp to <8 x i64>
920 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
921 ; CHECK: cost of 7 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>
924 define <8 x i8> @fun92(<8 x double> %val1, <8 x double> %val2) {
925 %cmp = fcmp ogt <8 x double> %val1, %val2
926 %v = sext <8 x i1> %cmp to <8 x i8>
930 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
931 ; CHECK: cost of 3 for instruction: %v = sext <8 x i1> %cmp to <8 x i8>
934 define <8 x i16> @fun93(<8 x double> %val1, <8 x double> %val2) {
935 %cmp = fcmp ogt <8 x double> %val1, %val2
936 %v = sext <8 x i1> %cmp to <8 x i16>
940 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
941 ; CHECK: cost of 3 for instruction: %v = sext <8 x i1> %cmp to <8 x i16>
944 define <8 x i32> @fun94(<8 x double> %val1, <8 x double> %val2) {
945 %cmp = fcmp ogt <8 x double> %val1, %val2
946 %v = sext <8 x i1> %cmp to <8 x i32>
950 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
951 ; CHECK: cost of 2 for instruction: %v = sext <8 x i1> %cmp to <8 x i32>
954 define <8 x i64> @fun95(<8 x double> %val1, <8 x double> %val2) {
955 %cmp = fcmp ogt <8 x double> %val1, %val2
956 %v = sext <8 x i1> %cmp to <8 x i64>
960 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
961 ; CHECK: cost of 0 for instruction: %v = sext <8 x i1> %cmp to <8 x i64>
964 define <16 x i8> @fun96(<16 x i8> %val1, <16 x i8> %val2) {
965 %cmp = icmp eq <16 x i8> %val1, %val2
966 %v = sext <16 x i1> %cmp to <16 x i8>
970 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
971 ; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>
974 define <16 x i16> @fun97(<16 x i8> %val1, <16 x i8> %val2) {
975 %cmp = icmp eq <16 x i8> %val1, %val2
976 %v = sext <16 x i1> %cmp to <16 x i16>
980 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
981 ; CHECK: cost of 3 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>
984 define <16 x i32> @fun98(<16 x i8> %val1, <16 x i8> %val2) {
985 %cmp = icmp eq <16 x i8> %val1, %val2
986 %v = sext <16 x i1> %cmp to <16 x i32>
990 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
991 ; CHECK: cost of 11 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>
994 define <16 x i64> @fun99(<16 x i8> %val1, <16 x i8> %val2) {
995 %cmp = icmp eq <16 x i8> %val1, %val2
996 %v = sext <16 x i1> %cmp to <16 x i64>
1000 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
1001 ; CHECK: cost of 31 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>
1004 define <16 x i8> @fun100(<16 x i16> %val1, <16 x i16> %val2) {
1005 %cmp = icmp eq <16 x i16> %val1, %val2
1006 %v = sext <16 x i1> %cmp to <16 x i8>
1010 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
1011 ; CHECK: cost of 1 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>
1014 define <16 x i16> @fun101(<16 x i16> %val1, <16 x i16> %val2) {
1015 %cmp = icmp eq <16 x i16> %val1, %val2
1016 %v = sext <16 x i1> %cmp to <16 x i16>
1020 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
1021 ; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>
1024 define <16 x i32> @fun102(<16 x i16> %val1, <16 x i16> %val2) {
1025 %cmp = icmp eq <16 x i16> %val1, %val2
1026 %v = sext <16 x i1> %cmp to <16 x i32>
1030 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
1031 ; CHECK: cost of 7 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>
1034 define <16 x i64> @fun103(<16 x i16> %val1, <16 x i16> %val2) {
1035 %cmp = icmp eq <16 x i16> %val1, %val2
1036 %v = sext <16 x i1> %cmp to <16 x i64>
1040 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
1041 ; CHECK: cost of 23 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>
1044 define <16 x i8> @fun104(<16 x i32> %val1, <16 x i32> %val2) {
1045 %cmp = icmp eq <16 x i32> %val1, %val2
1046 %v = sext <16 x i1> %cmp to <16 x i8>
1050 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
1051 ; CHECK: cost of 3 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>
1054 define <16 x i16> @fun105(<16 x i32> %val1, <16 x i32> %val2) {
1055 %cmp = icmp eq <16 x i32> %val1, %val2
1056 %v = sext <16 x i1> %cmp to <16 x i16>
1060 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
1061 ; CHECK: cost of 2 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>
1064 define <16 x i32> @fun106(<16 x i32> %val1, <16 x i32> %val2) {
1065 %cmp = icmp eq <16 x i32> %val1, %val2
1066 %v = sext <16 x i1> %cmp to <16 x i32>
1070 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
1071 ; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>
1074 define <16 x i64> @fun107(<16 x i32> %val1, <16 x i32> %val2) {
1075 %cmp = icmp eq <16 x i32> %val1, %val2
1076 %v = sext <16 x i1> %cmp to <16 x i64>
1080 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
1081 ; CHECK: cost of 15 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>
1084 define <16 x i8> @fun108(<16 x i64> %val1, <16 x i64> %val2) {
1085 %cmp = icmp eq <16 x i64> %val1, %val2
1086 %v = sext <16 x i1> %cmp to <16 x i8>
1090 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
1091 ; CHECK: cost of 7 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>
1094 define <16 x i16> @fun109(<16 x i64> %val1, <16 x i64> %val2) {
1095 %cmp = icmp eq <16 x i64> %val1, %val2
1096 %v = sext <16 x i1> %cmp to <16 x i16>
1100 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
1101 ; CHECK: cost of 6 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>
1104 define <16 x i32> @fun110(<16 x i64> %val1, <16 x i64> %val2) {
1105 %cmp = icmp eq <16 x i64> %val1, %val2
1106 %v = sext <16 x i1> %cmp to <16 x i32>
1110 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
1111 ; CHECK: cost of 4 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>
1114 define <16 x i64> @fun111(<16 x i64> %val1, <16 x i64> %val2) {
1115 %cmp = icmp eq <16 x i64> %val1, %val2
1116 %v = sext <16 x i1> %cmp to <16 x i64>
1120 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
1121 ; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>
1124 define <16 x i8> @fun112(<16 x float> %val1, <16 x float> %val2) {
1125 %cmp = fcmp ogt <16 x float> %val1, %val2
1126 %v = sext <16 x i1> %cmp to <16 x i8>
1130 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
1131 ; CHECK: cost of 3 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>
1134 define <16 x i16> @fun113(<16 x float> %val1, <16 x float> %val2) {
1135 %cmp = fcmp ogt <16 x float> %val1, %val2
1136 %v = sext <16 x i1> %cmp to <16 x i16>
1140 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
1141 ; CHECK: cost of 2 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>
1144 define <16 x i32> @fun114(<16 x float> %val1, <16 x float> %val2) {
1145 %cmp = fcmp ogt <16 x float> %val1, %val2
1146 %v = sext <16 x i1> %cmp to <16 x i32>
1150 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
1151 ; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>
1154 define <16 x i64> @fun115(<16 x float> %val1, <16 x float> %val2) {
1155 %cmp = fcmp ogt <16 x float> %val1, %val2
1156 %v = sext <16 x i1> %cmp to <16 x i64>
1160 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
1161 ; CHECK: cost of 15 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>
1164 define <16 x i8> @fun116(<16 x double> %val1, <16 x double> %val2) {
1165 %cmp = fcmp ogt <16 x double> %val1, %val2
1166 %v = sext <16 x i1> %cmp to <16 x i8>
1170 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
1171 ; CHECK: cost of 7 for instruction: %v = sext <16 x i1> %cmp to <16 x i8>
1174 define <16 x i16> @fun117(<16 x double> %val1, <16 x double> %val2) {
1175 %cmp = fcmp ogt <16 x double> %val1, %val2
1176 %v = sext <16 x i1> %cmp to <16 x i16>
1180 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
1181 ; CHECK: cost of 6 for instruction: %v = sext <16 x i1> %cmp to <16 x i16>
1184 define <16 x i32> @fun118(<16 x double> %val1, <16 x double> %val2) {
1185 %cmp = fcmp ogt <16 x double> %val1, %val2
1186 %v = sext <16 x i1> %cmp to <16 x i32>
1190 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
1191 ; CHECK: cost of 4 for instruction: %v = sext <16 x i1> %cmp to <16 x i32>
1194 define <16 x i64> @fun119(<16 x double> %val1, <16 x double> %val2) {
1195 %cmp = fcmp ogt <16 x double> %val1, %val2
1196 %v = sext <16 x i1> %cmp to <16 x i64>
1200 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
1201 ; CHECK: cost of 0 for instruction: %v = sext <16 x i1> %cmp to <16 x i64>
1204 define i8 @fun120(i8 %val1, i8 %val2) {
1205 %cmp = icmp eq i8 %val1, %val2
1206 %v = zext i1 %cmp to i8
1210 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
1211 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i8
1214 define i16 @fun121(i8 %val1, i8 %val2) {
1215 %cmp = icmp eq i8 %val1, %val2
1216 %v = zext i1 %cmp to i16
1220 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
1221 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i16
1224 define i32 @fun122(i8 %val1, i8 %val2) {
1225 %cmp = icmp eq i8 %val1, %val2
1226 %v = zext i1 %cmp to i32
1230 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
1231 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i32
1234 define i64 @fun123(i8 %val1, i8 %val2) {
1235 %cmp = icmp eq i8 %val1, %val2
1236 %v = zext i1 %cmp to i64
1240 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i8 %val1, %val2
1241 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i64
1244 define i8 @fun124(i16 %val1, i16 %val2) {
1245 %cmp = icmp eq i16 %val1, %val2
1246 %v = zext i1 %cmp to i8
1250 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
1251 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i8
1254 define i16 @fun125(i16 %val1, i16 %val2) {
1255 %cmp = icmp eq i16 %val1, %val2
1256 %v = zext i1 %cmp to i16
1260 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
1261 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i16
1264 define i32 @fun126(i16 %val1, i16 %val2) {
1265 %cmp = icmp eq i16 %val1, %val2
1266 %v = zext i1 %cmp to i32
1270 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
1271 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i32
1274 define i64 @fun127(i16 %val1, i16 %val2) {
1275 %cmp = icmp eq i16 %val1, %val2
1276 %v = zext i1 %cmp to i64
1280 ; CHECK: cost of 3 for instruction: %cmp = icmp eq i16 %val1, %val2
1281 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i64
1284 define i8 @fun128(i32 %val1, i32 %val2) {
1285 %cmp = icmp eq i32 %val1, %val2
1286 %v = zext i1 %cmp to i8
1290 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
1291 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i8
1294 define i16 @fun129(i32 %val1, i32 %val2) {
1295 %cmp = icmp eq i32 %val1, %val2
1296 %v = zext i1 %cmp to i16
1300 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
1301 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i16
1304 define i32 @fun130(i32 %val1, i32 %val2) {
1305 %cmp = icmp eq i32 %val1, %val2
1306 %v = zext i1 %cmp to i32
1310 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
1311 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i32
1314 define i64 @fun131(i32 %val1, i32 %val2) {
1315 %cmp = icmp eq i32 %val1, %val2
1316 %v = zext i1 %cmp to i64
1320 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i32 %val1, %val2
1321 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i64
1324 define i8 @fun132(i64 %val1, i64 %val2) {
1325 %cmp = icmp eq i64 %val1, %val2
1326 %v = zext i1 %cmp to i8
1330 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
1331 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i8
1334 define i16 @fun133(i64 %val1, i64 %val2) {
1335 %cmp = icmp eq i64 %val1, %val2
1336 %v = zext i1 %cmp to i16
1340 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
1341 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i16
1344 define i32 @fun134(i64 %val1, i64 %val2) {
1345 %cmp = icmp eq i64 %val1, %val2
1346 %v = zext i1 %cmp to i32
1350 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
1351 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i32
1354 define i64 @fun135(i64 %val1, i64 %val2) {
1355 %cmp = icmp eq i64 %val1, %val2
1356 %v = zext i1 %cmp to i64
1360 ; CHECK: cost of 1 for instruction: %cmp = icmp eq i64 %val1, %val2
1361 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i64
1364 define i8 @fun136(float %val1, float %val2) {
1365 %cmp = fcmp ogt float %val1, %val2
1366 %v = zext i1 %cmp to i8
1370 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
1371 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i8
1374 define i16 @fun137(float %val1, float %val2) {
1375 %cmp = fcmp ogt float %val1, %val2
1376 %v = zext i1 %cmp to i16
1380 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
1381 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i16
1384 define i32 @fun138(float %val1, float %val2) {
1385 %cmp = fcmp ogt float %val1, %val2
1386 %v = zext i1 %cmp to i32
1390 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
1391 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i32
1394 define i64 @fun139(float %val1, float %val2) {
1395 %cmp = fcmp ogt float %val1, %val2
1396 %v = zext i1 %cmp to i64
1400 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt float %val1, %val2
1401 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i64
1404 define i8 @fun140(double %val1, double %val2) {
1405 %cmp = fcmp ogt double %val1, %val2
1406 %v = zext i1 %cmp to i8
1410 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
1411 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i8
1414 define i16 @fun141(double %val1, double %val2) {
1415 %cmp = fcmp ogt double %val1, %val2
1416 %v = zext i1 %cmp to i16
1420 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
1421 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i16
1424 define i32 @fun142(double %val1, double %val2) {
1425 %cmp = fcmp ogt double %val1, %val2
1426 %v = zext i1 %cmp to i32
1430 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
1431 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i32
1434 define i64 @fun143(double %val1, double %val2) {
1435 %cmp = fcmp ogt double %val1, %val2
1436 %v = zext i1 %cmp to i64
1440 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt double %val1, %val2
1441 ; CHECK: cost of 2 for instruction: %v = zext i1 %cmp to i64
1444 define <2 x i8> @fun144(<2 x i8> %val1, <2 x i8> %val2) {
1445 %cmp = icmp eq <2 x i8> %val1, %val2
1446 %v = zext <2 x i1> %cmp to <2 x i8>
1450 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
1451 ; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>
1454 define <2 x i16> @fun145(<2 x i8> %val1, <2 x i8> %val2) {
1455 %cmp = icmp eq <2 x i8> %val1, %val2
1456 %v = zext <2 x i1> %cmp to <2 x i16>
1460 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
1461 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>
1464 define <2 x i32> @fun146(<2 x i8> %val1, <2 x i8> %val2) {
1465 %cmp = icmp eq <2 x i8> %val1, %val2
1466 %v = zext <2 x i1> %cmp to <2 x i32>
1470 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
1471 ; CHECK: cost of 3 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>
1474 define <2 x i64> @fun147(<2 x i8> %val1, <2 x i8> %val2) {
1475 %cmp = icmp eq <2 x i8> %val1, %val2
1476 %v = zext <2 x i1> %cmp to <2 x i64>
1480 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i8> %val1, %val2
1481 ; CHECK: cost of 4 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>
1484 define <2 x i8> @fun148(<2 x i16> %val1, <2 x i16> %val2) {
1485 %cmp = icmp eq <2 x i16> %val1, %val2
1486 %v = zext <2 x i1> %cmp to <2 x i8>
1490 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
1491 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>
1494 define <2 x i16> @fun149(<2 x i16> %val1, <2 x i16> %val2) {
1495 %cmp = icmp eq <2 x i16> %val1, %val2
1496 %v = zext <2 x i1> %cmp to <2 x i16>
1500 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
1501 ; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>
1504 define <2 x i32> @fun150(<2 x i16> %val1, <2 x i16> %val2) {
1505 %cmp = icmp eq <2 x i16> %val1, %val2
1506 %v = zext <2 x i1> %cmp to <2 x i32>
1510 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
1511 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>
1514 define <2 x i64> @fun151(<2 x i16> %val1, <2 x i16> %val2) {
1515 %cmp = icmp eq <2 x i16> %val1, %val2
1516 %v = zext <2 x i1> %cmp to <2 x i64>
1520 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i16> %val1, %val2
1521 ; CHECK: cost of 3 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>
1524 define <2 x i8> @fun152(<2 x i32> %val1, <2 x i32> %val2) {
1525 %cmp = icmp eq <2 x i32> %val1, %val2
1526 %v = zext <2 x i1> %cmp to <2 x i8>
1530 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
1531 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>
1534 define <2 x i16> @fun153(<2 x i32> %val1, <2 x i32> %val2) {
1535 %cmp = icmp eq <2 x i32> %val1, %val2
1536 %v = zext <2 x i1> %cmp to <2 x i16>
1540 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
1541 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>
1544 define <2 x i32> @fun154(<2 x i32> %val1, <2 x i32> %val2) {
1545 %cmp = icmp eq <2 x i32> %val1, %val2
1546 %v = zext <2 x i1> %cmp to <2 x i32>
1550 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
1551 ; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>
1554 define <2 x i64> @fun155(<2 x i32> %val1, <2 x i32> %val2) {
1555 %cmp = icmp eq <2 x i32> %val1, %val2
1556 %v = zext <2 x i1> %cmp to <2 x i64>
1560 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i32> %val1, %val2
1561 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>
1564 define <2 x i8> @fun156(<2 x i64> %val1, <2 x i64> %val2) {
1565 %cmp = icmp eq <2 x i64> %val1, %val2
1566 %v = zext <2 x i1> %cmp to <2 x i8>
1570 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
1571 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>
1574 define <2 x i16> @fun157(<2 x i64> %val1, <2 x i64> %val2) {
1575 %cmp = icmp eq <2 x i64> %val1, %val2
1576 %v = zext <2 x i1> %cmp to <2 x i16>
1580 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
1581 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>
1584 define <2 x i32> @fun158(<2 x i64> %val1, <2 x i64> %val2) {
1585 %cmp = icmp eq <2 x i64> %val1, %val2
1586 %v = zext <2 x i1> %cmp to <2 x i32>
1590 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
1591 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>
1594 define <2 x i64> @fun159(<2 x i64> %val1, <2 x i64> %val2) {
1595 %cmp = icmp eq <2 x i64> %val1, %val2
1596 %v = zext <2 x i1> %cmp to <2 x i64>
1600 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <2 x i64> %val1, %val2
1601 ; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>
1604 define <2 x i8> @fun160(<2 x float> %val1, <2 x float> %val2) {
1605 %cmp = fcmp ogt <2 x float> %val1, %val2
1606 %v = zext <2 x i1> %cmp to <2 x i8>
1610 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
1611 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>
1614 define <2 x i16> @fun161(<2 x float> %val1, <2 x float> %val2) {
1615 %cmp = fcmp ogt <2 x float> %val1, %val2
1616 %v = zext <2 x i1> %cmp to <2 x i16>
1620 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
1621 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>
1624 define <2 x i32> @fun162(<2 x float> %val1, <2 x float> %val2) {
1625 %cmp = fcmp ogt <2 x float> %val1, %val2
1626 %v = zext <2 x i1> %cmp to <2 x i32>
1630 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
1631 ; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>
1634 define <2 x i64> @fun163(<2 x float> %val1, <2 x float> %val2) {
1635 %cmp = fcmp ogt <2 x float> %val1, %val2
1636 %v = zext <2 x i1> %cmp to <2 x i64>
1640 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <2 x float> %val1, %val2
1641 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>
1644 define <2 x i8> @fun164(<2 x double> %val1, <2 x double> %val2) {
1645 %cmp = fcmp ogt <2 x double> %val1, %val2
1646 %v = zext <2 x i1> %cmp to <2 x i8>
1650 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
1651 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i8>
1654 define <2 x i16> @fun165(<2 x double> %val1, <2 x double> %val2) {
1655 %cmp = fcmp ogt <2 x double> %val1, %val2
1656 %v = zext <2 x i1> %cmp to <2 x i16>
1660 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
1661 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i16>
1664 define <2 x i32> @fun166(<2 x double> %val1, <2 x double> %val2) {
1665 %cmp = fcmp ogt <2 x double> %val1, %val2
1666 %v = zext <2 x i1> %cmp to <2 x i32>
1670 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
1671 ; CHECK: cost of 2 for instruction: %v = zext <2 x i1> %cmp to <2 x i32>
1674 define <2 x i64> @fun167(<2 x double> %val1, <2 x double> %val2) {
1675 %cmp = fcmp ogt <2 x double> %val1, %val2
1676 %v = zext <2 x i1> %cmp to <2 x i64>
1680 ; CHECK: cost of 1 for instruction: %cmp = fcmp ogt <2 x double> %val1, %val2
1681 ; CHECK: cost of 1 for instruction: %v = zext <2 x i1> %cmp to <2 x i64>
1684 define <4 x i8> @fun168(<4 x i8> %val1, <4 x i8> %val2) {
1685 %cmp = icmp eq <4 x i8> %val1, %val2
1686 %v = zext <4 x i1> %cmp to <4 x i8>
1690 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
1691 ; CHECK: cost of 1 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>
1694 define <4 x i16> @fun169(<4 x i8> %val1, <4 x i8> %val2) {
1695 %cmp = icmp eq <4 x i8> %val1, %val2
1696 %v = zext <4 x i1> %cmp to <4 x i16>
1700 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
1701 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>
1704 define <4 x i32> @fun170(<4 x i8> %val1, <4 x i8> %val2) {
1705 %cmp = icmp eq <4 x i8> %val1, %val2
1706 %v = zext <4 x i1> %cmp to <4 x i32>
1710 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
1711 ; CHECK: cost of 3 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>
1714 define <4 x i64> @fun171(<4 x i8> %val1, <4 x i8> %val2) {
1715 %cmp = icmp eq <4 x i8> %val1, %val2
1716 %v = zext <4 x i1> %cmp to <4 x i64>
1720 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i8> %val1, %val2
1721 ; CHECK: cost of 9 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>
1724 define <4 x i8> @fun172(<4 x i16> %val1, <4 x i16> %val2) {
1725 %cmp = icmp eq <4 x i16> %val1, %val2
1726 %v = zext <4 x i1> %cmp to <4 x i8>
1730 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
1731 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>
1734 define <4 x i16> @fun173(<4 x i16> %val1, <4 x i16> %val2) {
1735 %cmp = icmp eq <4 x i16> %val1, %val2
1736 %v = zext <4 x i1> %cmp to <4 x i16>
1740 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
1741 ; CHECK: cost of 1 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>
1744 define <4 x i32> @fun174(<4 x i16> %val1, <4 x i16> %val2) {
1745 %cmp = icmp eq <4 x i16> %val1, %val2
1746 %v = zext <4 x i1> %cmp to <4 x i32>
1750 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
1751 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>
1754 define <4 x i64> @fun175(<4 x i16> %val1, <4 x i16> %val2) {
1755 %cmp = icmp eq <4 x i16> %val1, %val2
1756 %v = zext <4 x i1> %cmp to <4 x i64>
1760 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i16> %val1, %val2
1761 ; CHECK: cost of 7 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>
1764 define <4 x i8> @fun176(<4 x i32> %val1, <4 x i32> %val2) {
1765 %cmp = icmp eq <4 x i32> %val1, %val2
1766 %v = zext <4 x i1> %cmp to <4 x i8>
1770 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
1771 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>
1774 define <4 x i16> @fun177(<4 x i32> %val1, <4 x i32> %val2) {
1775 %cmp = icmp eq <4 x i32> %val1, %val2
1776 %v = zext <4 x i1> %cmp to <4 x i16>
1780 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
1781 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>
1784 define <4 x i32> @fun178(<4 x i32> %val1, <4 x i32> %val2) {
1785 %cmp = icmp eq <4 x i32> %val1, %val2
1786 %v = zext <4 x i1> %cmp to <4 x i32>
1790 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
1791 ; CHECK: cost of 1 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>
1794 define <4 x i64> @fun179(<4 x i32> %val1, <4 x i32> %val2) {
1795 %cmp = icmp eq <4 x i32> %val1, %val2
1796 %v = zext <4 x i1> %cmp to <4 x i64>
1800 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <4 x i32> %val1, %val2
1801 ; CHECK: cost of 5 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>
1804 define <4 x i8> @fun180(<4 x i64> %val1, <4 x i64> %val2) {
1805 %cmp = icmp eq <4 x i64> %val1, %val2
1806 %v = zext <4 x i1> %cmp to <4 x i8>
1810 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
1811 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>
1814 define <4 x i16> @fun181(<4 x i64> %val1, <4 x i64> %val2) {
1815 %cmp = icmp eq <4 x i64> %val1, %val2
1816 %v = zext <4 x i1> %cmp to <4 x i16>
1820 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
1821 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>
1824 define <4 x i32> @fun182(<4 x i64> %val1, <4 x i64> %val2) {
1825 %cmp = icmp eq <4 x i64> %val1, %val2
1826 %v = zext <4 x i1> %cmp to <4 x i32>
1830 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
1831 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>
1834 define <4 x i64> @fun183(<4 x i64> %val1, <4 x i64> %val2) {
1835 %cmp = icmp eq <4 x i64> %val1, %val2
1836 %v = zext <4 x i1> %cmp to <4 x i64>
1840 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <4 x i64> %val1, %val2
1841 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>
1844 define <4 x i8> @fun184(<4 x float> %val1, <4 x float> %val2) {
1845 %cmp = fcmp ogt <4 x float> %val1, %val2
1846 %v = zext <4 x i1> %cmp to <4 x i8>
1850 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
1851 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>
1854 define <4 x i16> @fun185(<4 x float> %val1, <4 x float> %val2) {
1855 %cmp = fcmp ogt <4 x float> %val1, %val2
1856 %v = zext <4 x i1> %cmp to <4 x i16>
1860 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
1861 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>
1864 define <4 x i32> @fun186(<4 x float> %val1, <4 x float> %val2) {
1865 %cmp = fcmp ogt <4 x float> %val1, %val2
1866 %v = zext <4 x i1> %cmp to <4 x i32>
1870 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
1871 ; CHECK: cost of 1 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>
1874 define <4 x i64> @fun187(<4 x float> %val1, <4 x float> %val2) {
1875 %cmp = fcmp ogt <4 x float> %val1, %val2
1876 %v = zext <4 x i1> %cmp to <4 x i64>
1880 ; CHECK: cost of 10 for instruction: %cmp = fcmp ogt <4 x float> %val1, %val2
1881 ; CHECK: cost of 5 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>
1884 define <4 x i8> @fun188(<4 x double> %val1, <4 x double> %val2) {
1885 %cmp = fcmp ogt <4 x double> %val1, %val2
1886 %v = zext <4 x i1> %cmp to <4 x i8>
1890 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
1891 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i8>
1894 define <4 x i16> @fun189(<4 x double> %val1, <4 x double> %val2) {
1895 %cmp = fcmp ogt <4 x double> %val1, %val2
1896 %v = zext <4 x i1> %cmp to <4 x i16>
1900 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
1901 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i16>
1904 define <4 x i32> @fun190(<4 x double> %val1, <4 x double> %val2) {
1905 %cmp = fcmp ogt <4 x double> %val1, %val2
1906 %v = zext <4 x i1> %cmp to <4 x i32>
1910 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
1911 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i32>
1914 define <4 x i64> @fun191(<4 x double> %val1, <4 x double> %val2) {
1915 %cmp = fcmp ogt <4 x double> %val1, %val2
1916 %v = zext <4 x i1> %cmp to <4 x i64>
1920 ; CHECK: cost of 2 for instruction: %cmp = fcmp ogt <4 x double> %val1, %val2
1921 ; CHECK: cost of 2 for instruction: %v = zext <4 x i1> %cmp to <4 x i64>
1924 define <8 x i8> @fun192(<8 x i8> %val1, <8 x i8> %val2) {
1925 %cmp = icmp eq <8 x i8> %val1, %val2
1926 %v = zext <8 x i1> %cmp to <8 x i8>
1930 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
1931 ; CHECK: cost of 1 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>
1934 define <8 x i16> @fun193(<8 x i8> %val1, <8 x i8> %val2) {
1935 %cmp = icmp eq <8 x i8> %val1, %val2
1936 %v = zext <8 x i1> %cmp to <8 x i16>
1940 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
1941 ; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>
1944 define <8 x i32> @fun194(<8 x i8> %val1, <8 x i8> %val2) {
1945 %cmp = icmp eq <8 x i8> %val1, %val2
1946 %v = zext <8 x i1> %cmp to <8 x i32>
1950 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
1951 ; CHECK: cost of 7 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>
1954 define <8 x i64> @fun195(<8 x i8> %val1, <8 x i8> %val2) {
1955 %cmp = icmp eq <8 x i8> %val1, %val2
1956 %v = zext <8 x i1> %cmp to <8 x i64>
1960 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i8> %val1, %val2
1961 ; CHECK: cost of 19 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>
1964 define <8 x i8> @fun196(<8 x i16> %val1, <8 x i16> %val2) {
1965 %cmp = icmp eq <8 x i16> %val1, %val2
1966 %v = zext <8 x i1> %cmp to <8 x i8>
1970 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
1971 ; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>
1974 define <8 x i16> @fun197(<8 x i16> %val1, <8 x i16> %val2) {
1975 %cmp = icmp eq <8 x i16> %val1, %val2
1976 %v = zext <8 x i1> %cmp to <8 x i16>
1980 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
1981 ; CHECK: cost of 1 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>
1984 define <8 x i32> @fun198(<8 x i16> %val1, <8 x i16> %val2) {
1985 %cmp = icmp eq <8 x i16> %val1, %val2
1986 %v = zext <8 x i1> %cmp to <8 x i32>
1990 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
1991 ; CHECK: cost of 5 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>
1994 define <8 x i64> @fun199(<8 x i16> %val1, <8 x i16> %val2) {
1995 %cmp = icmp eq <8 x i16> %val1, %val2
1996 %v = zext <8 x i1> %cmp to <8 x i64>
2000 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <8 x i16> %val1, %val2
2001 ; CHECK: cost of 15 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>
2004 define <8 x i8> @fun200(<8 x i32> %val1, <8 x i32> %val2) {
2005 %cmp = icmp eq <8 x i32> %val1, %val2
2006 %v = zext <8 x i1> %cmp to <8 x i8>
2010 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
2011 ; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>
2014 define <8 x i16> @fun201(<8 x i32> %val1, <8 x i32> %val2) {
2015 %cmp = icmp eq <8 x i32> %val1, %val2
2016 %v = zext <8 x i1> %cmp to <8 x i16>
2020 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
2021 ; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>
2024 define <8 x i32> @fun202(<8 x i32> %val1, <8 x i32> %val2) {
2025 %cmp = icmp eq <8 x i32> %val1, %val2
2026 %v = zext <8 x i1> %cmp to <8 x i32>
2030 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
2031 ; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>
2034 define <8 x i64> @fun203(<8 x i32> %val1, <8 x i32> %val2) {
2035 %cmp = icmp eq <8 x i32> %val1, %val2
2036 %v = zext <8 x i1> %cmp to <8 x i64>
2040 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <8 x i32> %val1, %val2
2041 ; CHECK: cost of 11 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>
2044 define <8 x i8> @fun204(<8 x i64> %val1, <8 x i64> %val2) {
2045 %cmp = icmp eq <8 x i64> %val1, %val2
2046 %v = zext <8 x i1> %cmp to <8 x i8>
2050 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
2051 ; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>
2054 define <8 x i16> @fun205(<8 x i64> %val1, <8 x i64> %val2) {
2055 %cmp = icmp eq <8 x i64> %val1, %val2
2056 %v = zext <8 x i1> %cmp to <8 x i16>
2060 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
2061 ; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>
2064 define <8 x i32> @fun206(<8 x i64> %val1, <8 x i64> %val2) {
2065 %cmp = icmp eq <8 x i64> %val1, %val2
2066 %v = zext <8 x i1> %cmp to <8 x i32>
2070 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
2071 ; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>
2074 define <8 x i64> @fun207(<8 x i64> %val1, <8 x i64> %val2) {
2075 %cmp = icmp eq <8 x i64> %val1, %val2
2076 %v = zext <8 x i1> %cmp to <8 x i64>
2080 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <8 x i64> %val1, %val2
2081 ; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>
2084 define <8 x i8> @fun208(<8 x float> %val1, <8 x float> %val2) {
2085 %cmp = fcmp ogt <8 x float> %val1, %val2
2086 %v = zext <8 x i1> %cmp to <8 x i8>
2090 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
2091 ; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>
2094 define <8 x i16> @fun209(<8 x float> %val1, <8 x float> %val2) {
2095 %cmp = fcmp ogt <8 x float> %val1, %val2
2096 %v = zext <8 x i1> %cmp to <8 x i16>
2100 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
2101 ; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>
2104 define <8 x i32> @fun210(<8 x float> %val1, <8 x float> %val2) {
2105 %cmp = fcmp ogt <8 x float> %val1, %val2
2106 %v = zext <8 x i1> %cmp to <8 x i32>
2110 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
2111 ; CHECK: cost of 2 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>
2114 define <8 x i64> @fun211(<8 x float> %val1, <8 x float> %val2) {
2115 %cmp = fcmp ogt <8 x float> %val1, %val2
2116 %v = zext <8 x i1> %cmp to <8 x i64>
2120 ; CHECK: cost of 20 for instruction: %cmp = fcmp ogt <8 x float> %val1, %val2
2121 ; CHECK: cost of 11 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>
2124 define <8 x i8> @fun212(<8 x double> %val1, <8 x double> %val2) {
2125 %cmp = fcmp ogt <8 x double> %val1, %val2
2126 %v = zext <8 x i1> %cmp to <8 x i8>
2130 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
2131 ; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i8>
2134 define <8 x i16> @fun213(<8 x double> %val1, <8 x double> %val2) {
2135 %cmp = fcmp ogt <8 x double> %val1, %val2
2136 %v = zext <8 x i1> %cmp to <8 x i16>
2140 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
2141 ; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i16>
2144 define <8 x i32> @fun214(<8 x double> %val1, <8 x double> %val2) {
2145 %cmp = fcmp ogt <8 x double> %val1, %val2
2146 %v = zext <8 x i1> %cmp to <8 x i32>
2150 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
2151 ; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i32>
2154 define <8 x i64> @fun215(<8 x double> %val1, <8 x double> %val2) {
2155 %cmp = fcmp ogt <8 x double> %val1, %val2
2156 %v = zext <8 x i1> %cmp to <8 x i64>
2160 ; CHECK: cost of 4 for instruction: %cmp = fcmp ogt <8 x double> %val1, %val2
2161 ; CHECK: cost of 4 for instruction: %v = zext <8 x i1> %cmp to <8 x i64>
2164 define <16 x i8> @fun216(<16 x i8> %val1, <16 x i8> %val2) {
2165 %cmp = icmp eq <16 x i8> %val1, %val2
2166 %v = zext <16 x i1> %cmp to <16 x i8>
2170 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
2171 ; CHECK: cost of 1 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>
2174 define <16 x i16> @fun217(<16 x i8> %val1, <16 x i8> %val2) {
2175 %cmp = icmp eq <16 x i8> %val1, %val2
2176 %v = zext <16 x i1> %cmp to <16 x i16>
2180 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
2181 ; CHECK: cost of 5 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>
2184 define <16 x i32> @fun218(<16 x i8> %val1, <16 x i8> %val2) {
2185 %cmp = icmp eq <16 x i8> %val1, %val2
2186 %v = zext <16 x i1> %cmp to <16 x i32>
2190 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
2191 ; CHECK: cost of 15 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>
2194 define <16 x i64> @fun219(<16 x i8> %val1, <16 x i8> %val2) {
2195 %cmp = icmp eq <16 x i8> %val1, %val2
2196 %v = zext <16 x i1> %cmp to <16 x i64>
2200 ; CHECK: cost of 1 for instruction: %cmp = icmp eq <16 x i8> %val1, %val2
2201 ; CHECK: cost of 39 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>
2204 define <16 x i8> @fun220(<16 x i16> %val1, <16 x i16> %val2) {
2205 %cmp = icmp eq <16 x i16> %val1, %val2
2206 %v = zext <16 x i1> %cmp to <16 x i8>
2210 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
2211 ; CHECK: cost of 2 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>
2214 define <16 x i16> @fun221(<16 x i16> %val1, <16 x i16> %val2) {
2215 %cmp = icmp eq <16 x i16> %val1, %val2
2216 %v = zext <16 x i1> %cmp to <16 x i16>
2220 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
2221 ; CHECK: cost of 2 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>
2224 define <16 x i32> @fun222(<16 x i16> %val1, <16 x i16> %val2) {
2225 %cmp = icmp eq <16 x i16> %val1, %val2
2226 %v = zext <16 x i1> %cmp to <16 x i32>
2230 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
2231 ; CHECK: cost of 11 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>
2234 define <16 x i64> @fun223(<16 x i16> %val1, <16 x i16> %val2) {
2235 %cmp = icmp eq <16 x i16> %val1, %val2
2236 %v = zext <16 x i1> %cmp to <16 x i64>
2240 ; CHECK: cost of 2 for instruction: %cmp = icmp eq <16 x i16> %val1, %val2
2241 ; CHECK: cost of 31 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>
2244 define <16 x i8> @fun224(<16 x i32> %val1, <16 x i32> %val2) {
2245 %cmp = icmp eq <16 x i32> %val1, %val2
2246 %v = zext <16 x i1> %cmp to <16 x i8>
2250 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
2251 ; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>
2254 define <16 x i16> @fun225(<16 x i32> %val1, <16 x i32> %val2) {
2255 %cmp = icmp eq <16 x i32> %val1, %val2
2256 %v = zext <16 x i1> %cmp to <16 x i16>
2260 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
2261 ; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>
2264 define <16 x i32> @fun226(<16 x i32> %val1, <16 x i32> %val2) {
2265 %cmp = icmp eq <16 x i32> %val1, %val2
2266 %v = zext <16 x i1> %cmp to <16 x i32>
2270 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
2271 ; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>
2274 define <16 x i64> @fun227(<16 x i32> %val1, <16 x i32> %val2) {
2275 %cmp = icmp eq <16 x i32> %val1, %val2
2276 %v = zext <16 x i1> %cmp to <16 x i64>
2280 ; CHECK: cost of 4 for instruction: %cmp = icmp eq <16 x i32> %val1, %val2
2281 ; CHECK: cost of 23 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>
2284 define <16 x i8> @fun228(<16 x i64> %val1, <16 x i64> %val2) {
2285 %cmp = icmp eq <16 x i64> %val1, %val2
2286 %v = zext <16 x i1> %cmp to <16 x i8>
2290 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
2291 ; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>
2294 define <16 x i16> @fun229(<16 x i64> %val1, <16 x i64> %val2) {
2295 %cmp = icmp eq <16 x i64> %val1, %val2
2296 %v = zext <16 x i1> %cmp to <16 x i16>
2300 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
2301 ; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>
2304 define <16 x i32> @fun230(<16 x i64> %val1, <16 x i64> %val2) {
2305 %cmp = icmp eq <16 x i64> %val1, %val2
2306 %v = zext <16 x i1> %cmp to <16 x i32>
2310 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
2311 ; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>
2314 define <16 x i64> @fun231(<16 x i64> %val1, <16 x i64> %val2) {
2315 %cmp = icmp eq <16 x i64> %val1, %val2
2316 %v = zext <16 x i1> %cmp to <16 x i64>
2320 ; CHECK: cost of 8 for instruction: %cmp = icmp eq <16 x i64> %val1, %val2
2321 ; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>
2324 define <16 x i8> @fun232(<16 x float> %val1, <16 x float> %val2) {
2325 %cmp = fcmp ogt <16 x float> %val1, %val2
2326 %v = zext <16 x i1> %cmp to <16 x i8>
2330 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
2331 ; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>
2334 define <16 x i16> @fun233(<16 x float> %val1, <16 x float> %val2) {
2335 %cmp = fcmp ogt <16 x float> %val1, %val2
2336 %v = zext <16 x i1> %cmp to <16 x i16>
2340 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
2341 ; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>
2344 define <16 x i32> @fun234(<16 x float> %val1, <16 x float> %val2) {
2345 %cmp = fcmp ogt <16 x float> %val1, %val2
2346 %v = zext <16 x i1> %cmp to <16 x i32>
2350 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
2351 ; CHECK: cost of 4 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>
2354 define <16 x i64> @fun235(<16 x float> %val1, <16 x float> %val2) {
2355 %cmp = fcmp ogt <16 x float> %val1, %val2
2356 %v = zext <16 x i1> %cmp to <16 x i64>
2360 ; CHECK: cost of 40 for instruction: %cmp = fcmp ogt <16 x float> %val1, %val2
2361 ; CHECK: cost of 23 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>
2364 define <16 x i8> @fun236(<16 x double> %val1, <16 x double> %val2) {
2365 %cmp = fcmp ogt <16 x double> %val1, %val2
2366 %v = zext <16 x i1> %cmp to <16 x i8>
2370 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
2371 ; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i8>
2374 define <16 x i16> @fun237(<16 x double> %val1, <16 x double> %val2) {
2375 %cmp = fcmp ogt <16 x double> %val1, %val2
2376 %v = zext <16 x i1> %cmp to <16 x i16>
2380 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
2381 ; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i16>
2384 define <16 x i32> @fun238(<16 x double> %val1, <16 x double> %val2) {
2385 %cmp = fcmp ogt <16 x double> %val1, %val2
2386 %v = zext <16 x i1> %cmp to <16 x i32>
2390 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
2391 ; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i32>
2394 define <16 x i64> @fun239(<16 x double> %val1, <16 x double> %val2) {
2395 %cmp = fcmp ogt <16 x double> %val1, %val2
2396 %v = zext <16 x i1> %cmp to <16 x i64>
2400 ; CHECK: cost of 8 for instruction: %cmp = fcmp ogt <16 x double> %val1, %val2
2401 ; CHECK: cost of 8 for instruction: %v = zext <16 x i1> %cmp to <16 x i64>