Lines Matching full:select

8 ; CHECK-NEXT:    [[TMP1:%.*]] = select i1 [[A:%.*]], i1 true, i1 [[B:%.*]]
9 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
12 %ac = select i1 %c, i1 %a, i1 false
13 %bc = select i1 %c, i1 %b, i1 false
14 %or = select i1 %ac, i1 true, i1 %bc
20 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 true, i1 [[B:%.*]]
21 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
24 %ac = select i1 %a, i1 %c, i1 false
25 %bc = select i1 %c, i1 %b, i1 false
26 %or = select i1 %ac, i1 true, i1 %bc
32 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 true, i1 [[B:%.*]]
33 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[TMP1]], i1 [[C:%.*]], i1 false
36 %ac = select i1 %a, i1 %c, i1 false
37 %bc = select i1 %b, i1 %c, i1 false
38 %or = select i1 %ac, i1 true, i1 %bc
44 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 true, i1 [[B:%.*]]
45 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
48 %ac = select i1 %c, i1 %a, i1 false
49 %bc = select i1 %b, i1 %c, i1 false
50 %or = select i1 %ac, i1 true, i1 %bc
56 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 true, i1 [[A:%.*]]
57 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
60 %ac = select i1 %c, i1 %a, i1 false
61 %bc = select i1 %c, i1 %b, i1 false
62 %or = select i1 %bc, i1 true, i1 %ac
68 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 true, i1 [[A:%.*]]
69 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
72 %ac = select i1 %a, i1 %c, i1 false
73 %bc = select i1 %c, i1 %b, i1 false
74 %or = select i1 %bc, i1 true, i1 %ac
80 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 true, i1 [[A:%.*]]
81 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[TMP1]], i1 [[C:%.*]], i1 false
84 %ac = select i1 %a, i1 %c, i1 false
85 %bc = select i1 %b, i1 %c, i1 false
86 %or = select i1 %bc, i1 true, i1 %ac
92 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 true, i1 [[A:%.*]]
93 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
96 %ac = select i1 %c, i1 %a, i1 false
97 %bc = select i1 %b, i1 %c, i1 false
98 %or = select i1 %bc, i1 true, i1 %ac
104 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[B:%.*]]
105 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> [[TMP1]], <3 x i1> zeroinitializer
108 %ac = select <3 x i1> %c, <3 x i1> %a, <3 x i1> <i1 false, i1 false, i1 false>
109 %bc = select <3 x i1> %c, <3 x i1> %b, <3 x i1> <i1 false, i1 false, i1 false>
110 %or = select <3 x i1> %ac, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %bc
116 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[B:%.*]]
117 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> [[TMP1]], <3 x i1> zeroinitializer
120 %ac = select <3 x i1> %c, <3 x i1> %a, <3 x i1> <i1 false, i1 false, i1 false>
121 %bc = select <3 x i1> %c, <3 x i1> %b, <3 x i1> <i1 false, i1 false, i1 false>
122 %or = select <3 x i1> %ac, <3 x i1> <i1 true, i1 true, i1 poison>, <3 x i1> %bc
128 ; CHECK-NEXT: [[AC:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> [[A:%.*]], <3 x i1> <i1 false, i1 poison, i1 false>
129 ; CHECK-NEXT: [[BC:%.*]] = select <3 x i1> [[C]], <3 x i1> [[B:%.*]], <3 x i1> zeroinitializer
130 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[AC]], <3 x i1> splat (i1 true), <3 x i1> [[BC]]
133 %ac = select <3 x i1> %c, <3 x i1> %a, <3 x i1> <i1 false, i1 poison, i1 false>
134 %bc = select <3 x i1> %c, <3 x i1> %b, <3 x i1> <i1 false, i1 false, i1 false>
135 %or = select <3 x i1> %ac, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %bc
141 ; CHECK-NEXT: [[BC:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[B:%.*]]
142 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> [[BC]], <3 x i1> <i1 poison, i1 false, i1 false>
145 %ac = select <3 x i1> %c, <3 x i1> %a, <3 x i1> <i1 false, i1 false, i1 false>
146 %bc = select <3 x i1> %c, <3 x i1> %b, <3 x i1> <i1 poison, i1 false, i1 false>
147 %or = select <3 x i1> %ac, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %bc
155 ; CHECK-NEXT: [[AC:%.*]] = select i1 [[C:%.*]], i1 [[A:%.*]], i1 false
156 ; CHECK-NEXT: [[BC:%.*]] = select i1 [[C]], i1 [[B:%.*]], i1 false
157 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[AC]], i1 true, i1 [[BC]]
162 %ac = select i1 %c, i1 %a, i1 false
163 %bc = select i1 %c, i1 %b, i1 false
164 %or = select i1 %ac, i1 true, i1 %bc
172 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 true, i1 [[B:%.*]]
173 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
177 %bc = select i1 %c, i1 %b, i1 false
178 %or = select i1 %ac, i1 true, i1 %bc
184 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 true, i1 [[B:%.*]]
185 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
189 %bc = select i1 %b, i1 %c, i1 false
190 %or = select i1 %ac, i1 true, i1 %bc
196 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 true, i1 [[B:%.*]]
197 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
201 %bc = select i1 %c, i1 %b, i1 false
202 %or = select i1 %ac, i1 true, i1 %bc
208 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 true, i1 [[B:%.*]]
209 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
213 %bc = select i1 %b, i1 %c, i1 false
214 %or = select i1 %ac, i1 true, i1 %bc
220 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 true, i1 [[A:%.*]]
221 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
225 %bc = select i1 %c, i1 %b, i1 false
226 %or = select i1 %bc, i1 true, i1 %ac
232 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 true, i1 [[A:%.*]]
237 %bc = select i1 %b, i1 %c, i1 false
238 %or = select i1 %bc, i1 true, i1 %ac
244 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 true, i1 [[A:%.*]]
245 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 [[TMP1]], i1 false
249 %bc = select i1 %c, i1 %b, i1 false
250 %or = select i1 %bc, i1 true, i1 %ac
256 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 true, i1 [[A:%.*]]
261 %bc = select i1 %b, i1 %c, i1 false
262 %or = select i1 %bc, i1 true, i1 %ac
268 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[B:%.*]]
269 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> [[TMP1]], <3 x i1> zeroinitializer
273 %bc = select <3 x i1> %c, <3 x i1> %b, <3 x i1> <i1 false, i1 false, i1 false>
274 %or = select <3 x i1> %ac, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %bc
280 ; CHECK-NEXT: [[BC:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[B:%.*]]
281 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> [[BC]], <3 x i1> <i1 false, i1 poison, i1 false>
285 %bc = select <3 x i1> %c, <3 x i1> %b, <3 x i1> <i1 false, i1 poison, i1 false>
286 %or = select <3 x i1> %ac, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %bc
292 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[B:%.*]]
293 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> [[TMP1]], <3 x i1> zeroinitializer
297 %bc = select <3 x i1> %c, <3 x i1> %b, <3 x i1> <i1 false, i1 false, i1 false>
298 %or = select <3 x i1> %ac, <3 x i1> <i1 poison, i1 true, i1 true>, <3 x i1> %bc
305 ; CHECK-NEXT: [[BC:%.*]] = select i1 [[B:%.*]], i1 [[C]], i1 false
306 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[B]], i1 [[C]], i1 [[AC]]
312 %bc = select i1 %b, i1 %c, i1 false
313 %or = select i1 %bc, i1 true, i1 %ac
321 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 true, i1 [[B:%.*]]
327 %or = select i1 %ac, i1 true, i1 %bc
333 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 true, i1 [[A:%.*]]
339 %or = select i1 %bc, i1 true, i1 %ac
345 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[B:%.*]]
351 %or = select <3 x i1> %ac, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %bc
357 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[B:%.*]]
363 %or = select <3 x i1> %ac, <3 x i1> <i1 true, i1 poison, i1 true>, <3 x i1> %bc
371 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[B]], i1 [[C]], i1 [[AC]]
378 %or = select i1 %bc, i1 true, i1 %ac
386 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 [[B:%.*]], i1 false
387 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
390 %ac = select i1 %c, i1 true, i1 %a
391 %bc = select i1 %c, i1 true, i1 %b
392 %or = select i1 %ac, i1 %bc, i1 false
398 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 [[B:%.*]], i1 false
399 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
402 %ac = select i1 %a, i1 true, i1 %c
403 %bc = select i1 %c, i1 true, i1 %b
404 %or = select i1 %ac, i1 %bc, i1 false
410 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 [[B:%.*]], i1 false
411 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[TMP1]], i1 true, i1 [[C:%.*]]
414 %ac = select i1 %a, i1 true, i1 %c
415 %bc = select i1 %b, i1 true, i1 %c
416 %or = select i1 %ac, i1 %bc, i1 false
422 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 [[B:%.*]], i1 false
423 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
426 %ac = select i1 %c, i1 true, i1 %a
427 %bc = select i1 %b, i1 true, i1 %c
428 %or = select i1 %ac, i1 %bc, i1 false
434 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 [[A:%.*]], i1 false
435 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
438 %ac = select i1 %c, i1 true, i1 %a
439 %bc = select i1 %c, i1 true, i1 %b
440 %or = select i1 %bc, i1 %ac, i1 false
446 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 [[A:%.*]], i1 false
447 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
450 %ac = select i1 %a, i1 true, i1 %c
451 %bc = select i1 %c, i1 true, i1 %b
452 %or = select i1 %bc, i1 %ac, i1 false
458 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 [[A:%.*]], i1 false
459 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[TMP1]], i1 true, i1 [[C:%.*]]
462 %ac = select i1 %a, i1 true, i1 %c
463 %bc = select i1 %b, i1 true, i1 %c
464 %or = select i1 %bc, i1 %ac, i1 false
470 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 [[A:%.*]], i1 false
471 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
474 %ac = select i1 %c, i1 true, i1 %a
475 %bc = select i1 %b, i1 true, i1 %c
476 %or = select i1 %bc, i1 %ac, i1 false
482 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> [[B:%.*]], <3 x i1> zeroinitializer
483 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[TMP1]]
486 %ac = select <3 x i1> %c, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %a
487 %bc = select <3 x i1> %c, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %b
488 %or = select <3 x i1> %ac, <3 x i1> %bc, <3 x i1> <i1 false, i1 false, i1 false>
494 ; CHECK-NEXT: [[AC:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> <i1 poison, i1 true, i1 true>, <3 x i1> [[A:%.*]]
495 ; CHECK-NEXT: [[BC:%.*]] = select <3 x i1> [[C]], <3 x i1> splat (i1 true), <3 x i1> [[B:%.*]]
496 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[AC]], <3 x i1> [[BC]], <3 x i1> zeroinitializer
499 %ac = select <3 x i1> %c, <3 x i1> <i1 poison, i1 true, i1 true>, <3 x i1> %a
500 %bc = select <3 x i1> %c, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %b
501 %or = select <3 x i1> %ac, <3 x i1> %bc, <3 x i1> <i1 false, i1 false, i1 false>
507 ; CHECK-NEXT: [[BC:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> [[B:%.*]], <3 x i1> zeroinitializer
508 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> <i1 true, i1 poison, i1 true>, <3 x i1> [[BC]]
511 %ac = select <3 x i1> %c, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %a
512 %bc = select <3 x i1> %c, <3 x i1> <i1 true, i1 poison, i1 true>, <3 x i1> %b
513 %or = select <3 x i1> %ac, <3 x i1> %bc, <3 x i1> <i1 false, i1 false, i1 false>
519 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> [[B:%.*]], <3 x i1> zeroinitializer
520 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[TMP1]]
523 %ac = select <3 x i1> %c, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %a
524 %bc = select <3 x i1> %c, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %b
525 %or = select <3 x i1> %ac, <3 x i1> %bc, <3 x i1> <i1 false, i1 false, i1 poison>
533 ; CHECK-NEXT: [[AC:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[A:%.*]]
534 ; CHECK-NEXT: [[BC:%.*]] = select i1 [[B:%.*]], i1 true, i1 [[C]]
535 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[B]], i1 [[AC]], i1 [[C]]
540 %ac = select i1 %c, i1 true, i1 %a
541 %bc = select i1 %b, i1 true, i1 %c
542 %or = select i1 %bc, i1 %ac, i1 false
550 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 [[B:%.*]], i1 false
551 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
555 %bc = select i1 %c, i1 true, i1 %b
556 %or = select i1 %ac, i1 %bc, i1 false
562 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 [[B:%.*]], i1 false
563 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
567 %bc = select i1 %b, i1 true, i1 %c
568 %or = select i1 %ac, i1 %bc, i1 false
574 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 [[A:%.*]], i1 false
575 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
579 %bc = select i1 %c, i1 true, i1 %b
580 %or = select i1 %bc, i1 %ac, i1 false
586 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 [[A:%.*]], i1 false
591 %bc = select i1 %b, i1 true, i1 %c
592 %or = select i1 %bc, i1 %ac, i1 false
598 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 [[B:%.*]], i1 false
599 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
603 %bc = select i1 %c, i1 true, i1 %b
604 %or = select i1 %ac, i1 %bc, i1 false
610 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 [[B:%.*]], i1 false
611 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
615 %bc = select i1 %b, i1 true, i1 %c
616 %or = select i1 %ac, i1 %bc, i1 false
622 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 [[A:%.*]], i1 false
623 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[C:%.*]], i1 true, i1 [[TMP1]]
627 %bc = select i1 %c, i1 true, i1 %b
628 %or = select i1 %bc, i1 %ac, i1 false
634 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 [[A:%.*]], i1 false
639 %bc = select i1 %b, i1 true, i1 %c
640 %or = select i1 %bc, i1 %ac, i1 false
646 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> [[B:%.*]], <3 x i1> zeroinitializer
647 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[TMP1]]
651 %bc = select <3 x i1> %c, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %b
652 %or = select <3 x i1> %ac, <3 x i1> %bc, <3 x i1> <i1 false, i1 false, i1 false>
658 ; CHECK-NEXT: [[BC:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> [[B:%.*]], <3 x i1> zeroinitializer
659 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> <i1 true, i1 poison, i1 true>, <3 x i1> [[BC]]
663 %bc = select <3 x i1> %c, <3 x i1> <i1 true, i1 poison, i1 true>, <3 x i1> %b
664 %or = select <3 x i1> %ac, <3 x i1> %bc, <3 x i1> <i1 false, i1 false, i1 false>
670 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> [[B:%.*]], <3 x i1> zeroinitializer
671 ; CHECK-NEXT: [[OR:%.*]] = select <3 x i1> [[C:%.*]], <3 x i1> splat (i1 true), <3 x i1> [[TMP1]]
675 %bc = select <3 x i1> %c, <3 x i1> <i1 true, i1 true, i1 true>, <3 x i1> %b
676 %or = select <3 x i1> %ac, <3 x i1> %bc, <3 x i1> <i1 false, i1 false, i1 poison>
683 ; CHECK-NEXT: [[BC:%.*]] = select i1 [[B:%.*]], i1 true, i1 [[C]]
684 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[B]], i1 [[AC]], i1 [[C]]
690 %bc = select i1 %b, i1 true, i1 %c
691 %or = select i1 %bc, i1 %ac, i1 false
699 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[A:%.*]], i1 [[B:%.*]], i1 false
705 %or = select i1 %ac, i1 %bc, i1 false
711 ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[B:%.*]], i1 [[A:%.*]], i1 false
717 %or = select i1 %bc, i1 %ac, i1 false
723 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> [[B:%.*]], <3 x i1> zeroinitializer
729 %or = select <3 x i1> %ac, <3 x i1> %bc, <3 x i1> <i1 false, i1 false, i1 false>
735 ; CHECK-NEXT: [[TMP1:%.*]] = select <3 x i1> [[A:%.*]], <3 x i1> [[B:%.*]], <3 x i1> zeroinitializer
741 %or = select <3 x i1> %ac, <3 x i1> %bc, <3 x i1> <i1 poison, i1 false, i1 false>
749 ; CHECK-NEXT: [[OR:%.*]] = select i1 [[B]], i1 [[AC]], i1 [[C]]
756 %or = select i1 %bc, i1 %ac, i1 false