Lines Matching full:select
13 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[TMP1]]
14 ; CHECK-NEXT: ret i32 [[SELECT]]
19 %select = select i1 %cmp, i32 %y, i32 %or
20 ret i32 %select
27 ; CHECK-NEXT: [[SELECT:%.*]] = or <2 x i32> [[Y:%.*]], [[TMP1]]
28 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
33 %select = select <2 x i1> %cmp, <2 x i32> %y, <2 x i32> %or
34 ret <2 x i32> %select
41 ; CHECK-NEXT: [[SELECT:%.*]] = or <2 x i32> [[Y:%.*]], [[TMP1]]
42 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
47 %select = select <2 x i1> %cmp, <2 x i32> %y, <2 x i32> %or
48 ret <2 x i32> %select
55 ; CHECK-NEXT: [[SELECT:%.*]] = or <2 x i32> [[Y:%.*]], [[TMP1]]
56 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
61 %select = select <2 x i1> %cmp, <2 x i32> %y, <2 x i32> %or
62 ret <2 x i32> %select
69 ; CHECK-NEXT: [[SELECT:%.*]] = or <2 x i32> [[Y:%.*]], [[TMP1]]
70 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
75 %select = select <2 x i1> %cmp, <2 x i32> %y, <2 x i32> %or
76 ret <2 x i32> %select
83 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[Y:%.*]], [[TMP1]]
84 ; CHECK-NEXT: ret i32 [[SELECT]]
89 %select = select i1 %cmp, i32 %y, i32 %xor
90 ret i32 %select
98 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[AND2]]
99 ; CHECK-NEXT: ret i32 [[SELECT]]
104 %select = select i1 %cmp, i32 %y, i32 %and2
105 ret i32 %select
112 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[TMP1]]
113 ; CHECK-NEXT: ret i32 [[SELECT]]
118 %select = select i1 %cmp, i32 %y, i32 %or
119 ret i32 %select
126 ; CHECK-NEXT: [[SELECT:%.*]] = or <2 x i32> [[Y:%.*]], [[TMP1]]
127 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
132 %select = select <2 x i1> %cmp, <2 x i32> %y, <2 x i32> %or
133 ret <2 x i32> %select
140 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[Y:%.*]], [[TMP1]]
141 ; CHECK-NEXT: ret i32 [[SELECT]]
146 %select = select i1 %cmp, i32 %y, i32 %xor
147 ret i32 %select
155 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[AND2]]
156 ; CHECK-NEXT: ret i32 [[SELECT]]
161 %select = select i1 %cmp, i32 %y, i32 %and2
162 ret i32 %select
169 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[TMP1]]
170 ; CHECK-NEXT: ret i32 [[SELECT]]
175 %select = select i1 %cmp, i32 %y, i32 %or
176 ret i32 %select
183 ; CHECK-NEXT: [[SELECT:%.*]] = or <2 x i32> [[Y:%.*]], [[TMP1]]
184 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
189 %select = select <2 x i1> %cmp, <2 x i32> %y, <2 x i32> %or
190 ret <2 x i32> %select
197 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[TMP1]], 4096
198 ; CHECK-NEXT: ret i32 [[SELECT]]
203 %select = select i1 %cmp, i32 %y, i32 %xor
204 ret i32 %select
212 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[AND2]], i32 [[Y]]
213 ; CHECK-NEXT: ret i32 [[SELECT]]
218 %select = select i1 %cmp, i32 %y, i32 %and2
219 ret i32 %select
225 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[AND]]
226 ; CHECK-NEXT: ret i32 [[SELECT]]
231 %select = select i1 %cmp, i32 %y, i32 %or
232 ret i32 %select
238 ; CHECK-NEXT: [[SELECT:%.*]] = or <2 x i32> [[Y:%.*]], [[AND]]
239 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
244 %select = select <2 x i1> %cmp, <2 x i32> %y, <2 x i32> %or
245 ret <2 x i32> %select
251 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[Y:%.*]], [[AND]]
252 ; CHECK-NEXT: ret i32 [[SELECT]]
257 %select = select i1 %cmp, i32 %y, i32 %xor
258 ret i32 %select
266 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[AND2]]
267 ; CHECK-NEXT: ret i32 [[SELECT]]
272 %select = select i1 %cmp, i32 %y, i32 %and2
273 ret i32 %select
280 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[TMP2]]
281 ; CHECK-NEXT: ret i32 [[SELECT]]
286 %select = select i1 %cmp, i32 %y, i32 %or
287 ret i32 %select
294 ; CHECK-NEXT: [[SELECT:%.*]] = or <2 x i32> [[Y:%.*]], [[TMP2]]
295 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
300 %select = select <2 x i1> %cmp, <2 x i32> %y, <2 x i32> %or
301 ret <2 x i32> %select
308 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[Y:%.*]], [[TMP2]]
309 ; CHECK-NEXT: ret i32 [[SELECT]]
314 %select = select i1 %cmp, i32 %y, i32 %xor
315 ret i32 %select
323 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[AND2]]
324 ; CHECK-NEXT: ret i32 [[SELECT]]
329 %select = select i1 %cmp, i32 %y, i32 %and2
330 ret i32 %select
338 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[TMP2]]
339 ; CHECK-NEXT: ret i32 [[SELECT]]
344 %select = select i1 %cmp, i32 %y, i32 %or
345 ret i32 %select
353 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[TMP2]], 32
354 ; CHECK-NEXT: ret i32 [[SELECT]]
359 %select = select i1 %cmp, i32 %y, i32 %xor
360 ret i32 %select
368 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[AND2]], i32 [[Y]]
369 ; CHECK-NEXT: ret i32 [[SELECT]]
374 %select = select i1 %cmp, i32 %y, i32 %and2
375 ret i32 %select
383 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[TMP2]]
384 ; CHECK-NEXT: ret i32 [[SELECT]]
389 %select = select i1 %cmp, i32 %y, i32 %or
390 ret i32 %select
398 ; CHECK-NEXT: [[SELECT:%.*]] = or <2 x i32> [[Y:%.*]], [[TMP2]]
399 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
404 %select = select <2 x i1> %cmp, <2 x i32> %y, <2 x i32> %or
405 ret <2 x i32> %select
413 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[TMP2]], 4096
414 ; CHECK-NEXT: ret i32 [[SELECT]]
419 %select = select i1 %cmp, i32 %y, i32 %xor
420 ret i32 %select
428 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[AND2]], i32 [[Y]]
429 ; CHECK-NEXT: ret i32 [[SELECT]]
434 %select = select i1 %cmp, i32 %y, i32 %and2
435 ret i32 %select
443 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i8 [[OR]], i8 [[Y]]
444 ; CHECK-NEXT: ret i8 [[SELECT]]
449 %select = select i1 %cmp, i8 %y, i8 %or
450 ret i8 %select
458 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i8 [[XOR]], i8 [[Y]]
459 ; CHECK-NEXT: ret i8 [[SELECT]]
464 %select = select i1 %cmp, i8 %y, i8 %xor
465 ret i8 %select
473 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i8 [[AND2]], i8 [[Y]]
474 ; CHECK-NEXT: ret i8 [[SELECT]]
479 %select = select i1 %cmp, i8 %y, i8 %and2
480 ret i8 %select
488 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[OR]], i32 [[Y]]
489 ; CHECK-NEXT: ret i32 [[SELECT]]
494 %select = select i1 %cmp, i32 %y, i32 %or
495 ret i32 %select
503 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[XOR]], i32 [[Y]]
504 ; CHECK-NEXT: ret i32 [[SELECT]]
509 %select = select i1 %cmp, i32 %y, i32 %xor
510 ret i32 %select
518 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[AND2]], i32 [[Y]]
519 ; CHECK-NEXT: ret i32 [[SELECT]]
524 %select = select i1 %cmp, i32 %y, i32 %and2
525 ret i32 %select
535 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], <2 x i32> [[Y]], <2 x i32> [[OR]]
536 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
541 %select = select i1 %cmp, <2 x i32> %y, <2 x i32> %or
542 ret <2 x i32> %select
553 %x.xor = select i1 %cmp, i32 %x, i32 %xor
565 %xor.x = select i1 %cmp, i32 %xor, i32 %x
579 %y.xor = select i1 %cmp, i64 %y, i64 %xor
594 %xor.y = select i1 %cmp, i64 %xor, i64 %y
609 %or.y = select i1 %cmp, i64 %or, i64 %y
624 %or.y = select <2 x i1> %cmp, <2 x i64> %or, <2 x i64> %y
633 ; CHECK-NEXT: [[AND_Y:%.*]] = select i1 [[CMP]], i64 [[AND2]], i64 [[Y]]
639 %and.y = select i1 %cmp, i64 %and2, i64 %y
651 %x.xor = select i1 %cmp, i32 %x, i32 %xor
663 %xor.x = select i1 %cmp, i32 %xor, i32 %x
675 %or.x = select i1 %cmp, i32 %or, i32 %x
683 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[TMP1]]
684 ; CHECK-NEXT: ret i32 [[SELECT]]
689 %select = select i1 %cmp, i32 %y, i32 %or
690 ret i32 %select
697 ; CHECK-NEXT: [[SELECT:%.*]] = or <2 x i32> [[Y:%.*]], [[TMP1]]
698 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
703 %select = select <2 x i1> %cmp, <2 x i32> %y, <2 x i32> %or
704 ret <2 x i32> %select
711 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[Y:%.*]], [[TMP1]]
712 ; CHECK-NEXT: ret i32 [[SELECT]]
717 %select = select i1 %cmp, i32 %y, i32 %xor
718 ret i32 %select
726 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[AND2]]
727 ; CHECK-NEXT: ret i32 [[SELECT]]
732 %select = select i1 %cmp, i32 %y, i32 %and2
733 ret i32 %select
741 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[TMP2]]
742 ; CHECK-NEXT: ret i32 [[SELECT]]
747 %select = select i1 %cmp, i32 %y, i32 %or
748 ret i32 %select
756 ; CHECK-NEXT: [[SELECT:%.*]] = or <2 x i32> [[Y:%.*]], [[TMP2]]
757 ; CHECK-NEXT: ret <2 x i32> [[SELECT]]
762 %select = select <2 x i1> %cmp, <2 x i32> %y, <2 x i32> %or
763 ret <2 x i32> %select
771 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[TMP2]], 2
772 ; CHECK-NEXT: ret i32 [[SELECT]]
777 %select = select i1 %cmp, i32 %y, i32 %xor
778 ret i32 %select
786 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[AND2]], i32 [[Y]]
787 ; CHECK-NEXT: ret i32 [[SELECT]]
792 %select = select i1 %cmp, i32 %y, i32 %and2
793 ret i32 %select
800 ; CHECK-NEXT: [[SELECT:%.*]] = or i8 [[Y:%.*]], [[TMP2]]
801 ; CHECK-NEXT: ret i8 [[SELECT]]
805 %select = select i1 %cmp, i8 %or, i8 %y
806 ret i8 %select
814 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i8 [[OR]], i8 [[Y]]
815 ; CHECK-NEXT: ret i8 [[SELECT]]
820 %select = select i1 %cmp, i8 %or, i8 %y
821 ret i8 %select
829 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y]], [[TMP1]]
830 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[OR]]
836 %select = select i1 %cmp, i32 %y, i32 %or
837 %res = mul i32 %select, %or ; to bump up use count of the Or
846 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[Y]], [[TMP1]]
847 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[XOR]]
853 %select = select i1 %cmp, i32 %y, i32 %xor
854 %res = mul i32 %select, %xor ; to bump up use count of the Xor
863 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[AND2]]
864 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[AND2]]
870 %select = select i1 %cmp, i32 %y, i32 %and2
871 %res = mul i32 %select, %and2 ; to bump up use count of the And
879 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y]], [[AND]]
880 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[OR]]
886 %select = select i1 %cmp, i32 %y, i32 %or
887 %res = mul i32 %select, %or ; to bump up use count of the Or
895 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[Y]], [[AND]]
896 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[XOR]]
902 %select = select i1 %cmp, i32 %y, i32 %xor
903 %res = mul i32 %select, %xor ; to bump up use count of the Xor
912 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[AND2]]
913 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[AND2]]
919 %select = select i1 %cmp, i32 %y, i32 %and2
920 %res = mul i32 %select, %and2 ; to bump up use count of the And
929 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y]], [[TMP1]]
930 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[OR]]
936 %select = select i1 %cmp, i32 %y, i32 %or
937 %res = mul i32 %select, %or ; to bump up use count of the Or
946 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[TMP1]], 4096
947 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[XOR]]
953 %select = select i1 %cmp, i32 %y, i32 %xor
954 %res = mul i32 %select, %xor ; to bump up use count of the Xor
963 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[AND2]], i32 [[Y]]
964 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[AND2]]
970 %select = select i1 %cmp, i32 %y, i32 %and2
971 %res = mul i32 %select, %and2 ; to bump up use count of the And
980 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[OR]], i32 [[Y]]
981 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[OR]]
987 %select = select i1 %cmp, i32 %y, i32 %or
988 %res = mul i32 %select, %or ; to bump up use count of the Or
997 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[XOR]], i32 [[Y]]
998 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[XOR]]
1004 %select = select i1 %cmp, i32 %y, i32 %xor
1005 %res = mul i32 %select, %xor ; to bump up use count of the Xor
1014 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[AND2]], i32 [[Y]]
1015 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[AND2]]
1021 %select = select i1 %cmp, i32 %y, i32 %and2
1022 %res = mul i32 %select, %and2 ; to bump up use count of the and
1031 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[TMP1]]
1032 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1033 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1039 %select = select i1 %cmp, i32 %y, i32 %or
1040 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1041 %res = mul i32 %select, %select2
1050 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[Y:%.*]], [[TMP1]]
1051 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1052 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1058 %select = select i1 %cmp, i32 %y, i32 %xor
1059 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1060 %res = mul i32 %select, %select2
1069 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[AND2]]
1070 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1071 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1077 %select = select i1 %cmp, i32 %y, i32 %and2
1078 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1079 %res = mul i32 %select, %select2
1087 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[AND]]
1088 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1089 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1095 %select = select i1 %cmp, i32 %y, i32 %or
1096 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1097 %res = mul i32 %select, %select2
1105 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[Y:%.*]], [[AND]]
1106 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1107 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1113 %select = select i1 %cmp, i32 %y, i32 %xor
1114 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1115 %res = mul i32 %select, %select2
1124 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[AND2]]
1125 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1126 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1132 %select = select i1 %cmp, i32 %y, i32 %and2
1133 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1134 %res = mul i32 %select, %select2
1143 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y:%.*]], [[TMP1]]
1144 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1145 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1151 %select = select i1 %cmp, i32 %y, i32 %or
1152 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1153 %res = mul i32 %select, %select2
1162 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[TMP1]], 4096
1163 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1164 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1170 %select = select i1 %cmp, i32 %y, i32 %xor
1171 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1172 %res = mul i32 %select, %select2
1181 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[AND2]], i32 [[Y]]
1182 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1183 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1189 %select = select i1 %cmp, i32 %y, i32 %and2
1190 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1191 %res = mul i32 %select, %select2
1200 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[OR]], i32 [[Y]]
1201 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1202 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1208 %select = select i1 %cmp, i32 %y, i32 %or
1209 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1210 %res = mul i32 %select, %select2
1219 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[XOR]], i32 [[Y]]
1220 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1221 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1227 %select = select i1 %cmp, i32 %y, i32 %xor
1228 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1229 %res = mul i32 %select, %select2
1238 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[AND2]], i32 [[Y]]
1239 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1240 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1246 %select = select i1 %cmp, i32 %y, i32 %and2
1247 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1248 %res = mul i32 %select, %select2
1257 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[OR]]
1258 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1259 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1266 %select = select i1 %cmp, i32 %y, i32 %or
1267 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1268 %res = mul i32 %select, %select2
1278 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[XOR]]
1279 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1280 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1287 %select = select i1 %cmp, i32 %y, i32 %xor
1288 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1289 %res = mul i32 %select, %select2
1299 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[AND2]]
1300 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1301 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1308 %select = select i1 %cmp, i32 %y, i32 %and2
1309 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1310 %res = mul i32 %select, %select2
1320 ; CHECK-NEXT: [[SELECT:%.*]] = or i32 [[Y]], [[AND]]
1321 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1322 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1329 %select = select i1 %cmp, i32 %y, i32 %or
1330 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1331 %res = mul i32 %select, %select2
1341 ; CHECK-NEXT: [[SELECT:%.*]] = xor i32 [[Y]], [[AND]]
1342 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1343 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1350 %select = select i1 %cmp, i32 %y, i32 %xor
1351 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1352 %res = mul i32 %select, %select2
1362 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[AND2]]
1363 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP]], i32 [[Z:%.*]], i32 [[W:%.*]]
1364 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1371 %select = select i1 %cmp, i32 %y, i32 %and2
1372 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1373 %res = mul i32 %select, %select2
1383 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[OR]], i32 [[Y]]
1384 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1385 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1392 %select = select i1 %cmp, i32 %y, i32 %or
1393 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1394 %res = mul i32 %select, %select2
1404 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[XOR]], i32 [[Y]]
1405 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1406 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1413 %select = select i1 %cmp, i32 %y, i32 %xor
1414 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1415 %res = mul i32 %select, %select2
1425 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[AND2]], i32 [[Y]]
1426 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1427 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1434 %select = select i1 %cmp, i32 %y, i32 %and2
1435 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1436 %res = mul i32 %select, %select2
1446 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[OR]], i32 [[Y]]
1447 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1448 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1455 %select = select i1 %cmp, i32 %y, i32 %or
1456 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1457 %res = mul i32 %select, %select2
1467 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[XOR]], i32 [[Y]]
1468 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1469 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1476 %select = select i1 %cmp, i32 %y, i32 %xor
1477 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1478 %res = mul i32 %select, %select2
1488 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP_NOT]], i32 [[AND2]], i32 [[Y]]
1489 ; CHECK-NEXT: [[SELECT2:%.*]] = select i1 [[CMP_NOT]], i32 [[W:%.*]], i32 [[Z:%.*]]
1490 ; CHECK-NEXT: [[RES:%.*]] = mul i32 [[SELECT]], [[SELECT2]]
1497 %select = select i1 %cmp, i32 %y, i32 %and2
1498 %select2 = select i1 %cmp, i32 %z, i32 %w ; to bump up use count of the cmp
1499 %res = mul i32 %select, %select2
1507 ; CHECK-NEXT: [[MASKSEL:%.*]] = select i1 [[B:%.*]], i8 5, i8 0
1513 %cond = select i1 %b, i8 %or, i8 %and
1523 ; CHECK-NEXT: [[COND:%.*]] = select i1 [[B:%.*]], i8 [[OR]], i8 [[AND]]
1528 %cond = select i1 %b, i8 %or, i8 %and
1536 ; CHECK-NEXT: [[MASKSEL:%.*]] = select i1 [[B:%.*]], i8 5, i8 0
1543 %cond = select i1 %b, i8 %or, i8 %and
1554 ; CHECK-NEXT: [[COND:%.*]] = select i1 [[B:%.*]], i8 [[OR]], i8 [[AND]]
1560 %cond = select i1 %b, i8 %or, i8 %and
1567 ; CHECK-NEXT: [[MASKSEL:%.*]] = select <2 x i1> [[B:%.*]], <2 x i8> zeroinitializer, <2 x i8> splat (i8 -38)
1573 %cond = select <2 x i1> %b, <2 x i8> %and, <2 x i8> %or
1583 ; CHECK-NEXT: [[COND:%.*]] = select <2 x i1> [[B:%.*]], <2 x i8> [[AND]], <2 x i8> [[OR]]
1588 %cond = select <2 x i1> %b, <2 x i8> %and, <2 x i8> %or
1596 ; CHECK-NEXT: [[MASKSEL:%.*]] = select i1 [[B:%.*]], <2 x i8> zeroinitializer, <2 x i8> splat (i8 -38)
1603 %cond = select i1 %b, <2 x i8> %and, <2 x i8> %or
1614 ; CHECK-NEXT: [[COND:%.*]] = select i1 [[B:%.*]], i8 [[AND]], i8 [[OR]]
1620 %cond = select i1 %b, i8 %and, i8 %or
1630 ; CHECK-NEXT: [[R:%.*]] = select i1 [[CMP]], i64 [[Z]], i64 [[Y]]
1636 %r = select i1 %cmp, i64 %z, i64 %y
1650 %r = select i1 %cmp, i64 %z, i64 %y
1659 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[XOR]]
1660 ; CHECK-NEXT: ret i32 [[SELECT]]
1665 %select = select i1 %cmp, i32 %y, i32 %xor
1666 ret i32 %select
1675 ; CHECK-NEXT: [[SELECT:%.*]] = select i1 [[CMP]], i32 [[Y]], i32 [[XOR]]
1676 ; CHECK-NEXT: ret i32 [[SELECT]]
1681 %select = select i1 %cmp, i32 %y, i32 %xor
1682 ret i32 %select
1689 ; CHECK-NEXT: [[SELECT:%.*]] = lshr i8 [[Y:%.*]], [[TMP1]]
1690 ; CHECK-NEXT: ret i8 [[SELECT]]
1695 %select = select i1 %cmp, i8 %y, i8 %blshr
1696 ret i8 %select
1703 ; CHECK-NEXT: [[SELECT:%.*]] = lshr i8 [[Y:%.*]], [[TMP1]]
1704 ; CHECK-NEXT: ret i8 [[SELECT]]
1709 %select = select i1 %cmp, i8 %blshr, i8 %y
1710 ret i8 %select