1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass=peephole-opt --verify-machineinstrs -o - %s | FileCheck -check-prefix=GCN %s
5 name: and_1_cmp_eq_u32_1
7 ; GCN-LABEL: name: and_1_cmp_eq_u32_1
9 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
10 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
12 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
13 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
14 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
15 ; GCN-NEXT: S_BRANCH %bb.1
18 ; GCN-NEXT: successors: %bb.2(0x80000000)
21 ; GCN-NEXT: S_ENDPGM 0
23 successors: %bb.1(0x40000000), %bb.2(0x40000000)
24 liveins: $sgpr0, $vgpr0_vgpr1
26 %0:sreg_32 = COPY $sgpr0
27 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
28 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc
29 S_CBRANCH_SCC0 %bb.2, implicit $scc
33 successors: %bb.2(0x80000000)
41 name: and_1_cmp_eq_u32_1_used_and
43 ; GCN-LABEL: name: and_1_cmp_eq_u32_1_used_and
45 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
46 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
48 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
49 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def $scc
50 ; GCN-NEXT: S_NOP 0, implicit [[S_AND_B32_]]
51 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
52 ; GCN-NEXT: S_BRANCH %bb.1
55 ; GCN-NEXT: successors: %bb.2(0x80000000)
58 ; GCN-NEXT: S_ENDPGM 0
60 successors: %bb.1(0x40000000), %bb.2(0x40000000)
61 liveins: $sgpr0, $vgpr0_vgpr1
63 %0:sreg_32 = COPY $sgpr0
64 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
66 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc
67 S_CBRANCH_SCC0 %bb.2, implicit $scc
71 successors: %bb.2(0x80000000)
79 name: and_1_cmp_eq_i32_1
81 ; GCN-LABEL: name: and_1_cmp_eq_i32_1
83 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
84 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
86 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
87 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
88 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
89 ; GCN-NEXT: S_BRANCH %bb.1
92 ; GCN-NEXT: successors: %bb.2(0x80000000)
95 ; GCN-NEXT: S_ENDPGM 0
97 successors: %bb.1(0x40000000), %bb.2(0x40000000)
98 liveins: $sgpr0, $vgpr0_vgpr1
100 %0:sreg_32 = COPY $sgpr0
101 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
102 S_CMP_EQ_I32 killed %1:sreg_32, 1, implicit-def $scc
103 S_CBRANCH_SCC0 %bb.2, implicit $scc
107 successors: %bb.2(0x80000000)
115 name: and_1_cmp_eq_i32_1_phys
117 ; GCN-LABEL: name: and_1_cmp_eq_i32_1_phys
119 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
120 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
122 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
123 ; GCN-NEXT: $sgpr2 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc
124 ; GCN-NEXT: S_CMP_EQ_I32 killed $sgpr2, 1, implicit-def $scc
125 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
126 ; GCN-NEXT: S_BRANCH %bb.1
129 ; GCN-NEXT: successors: %bb.2(0x80000000)
132 ; GCN-NEXT: S_ENDPGM 0
134 successors: %bb.1(0x40000000), %bb.2(0x40000000)
135 liveins: $sgpr0, $vgpr0_vgpr1
137 %0:sreg_32 = COPY $sgpr0
138 $sgpr2 = S_AND_B32 1, killed %0, implicit-def dead $scc
139 S_CMP_EQ_I32 killed $sgpr2, 1, implicit-def $scc
140 S_CBRANCH_SCC0 %bb.2, implicit $scc
144 successors: %bb.2(0x80000000)
152 name: and_1_cmp_eq_i32_1_different_blocks
154 ; GCN-LABEL: name: and_1_cmp_eq_i32_1_different_blocks
156 ; GCN-NEXT: successors: %bb.1(0x80000000)
157 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
159 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
160 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc
163 ; GCN-NEXT: successors: %bb.2(0x40000000), %bb.1(0x40000000)
165 ; GCN-NEXT: S_CMP_EQ_I32 [[S_AND_B32_]], 1, implicit-def $scc
166 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
167 ; GCN-NEXT: S_BRANCH %bb.1
170 ; GCN-NEXT: successors: %bb.3(0x80000000)
173 ; GCN-NEXT: S_ENDPGM 0
175 liveins: $sgpr0, $vgpr0_vgpr1
176 successors: %bb.1(0x80000000)
178 %0:sreg_32 = COPY $sgpr0
179 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
182 successors: %bb.2(0x40000000), %bb.1(0x40000000)
184 S_CMP_EQ_I32 %1:sreg_32, 1, implicit-def $scc
185 S_CBRANCH_SCC0 %bb.2, implicit $scc
189 successors: %bb.3(0x80000000)
199 ; GCN-LABEL: name: and_3_cmp_eq_1
201 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
202 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
204 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
205 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 3, killed [[COPY]], implicit-def dead $scc
206 ; GCN-NEXT: S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc
207 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
208 ; GCN-NEXT: S_BRANCH %bb.1
211 ; GCN-NEXT: successors: %bb.2(0x80000000)
214 ; GCN-NEXT: S_ENDPGM 0
216 successors: %bb.1(0x40000000), %bb.2(0x40000000)
217 liveins: $sgpr0, $vgpr0_vgpr1
219 %0:sreg_32 = COPY $sgpr0
220 %1:sreg_32 = S_AND_B32 3, killed %0, implicit-def dead $scc
221 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc
222 S_CBRANCH_SCC0 %bb.2, implicit $scc
226 successors: %bb.2(0x80000000)
234 name: commuted_and_1_cmp_eq_1
236 ; GCN-LABEL: name: commuted_and_1_cmp_eq_1
238 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
239 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
241 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
242 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
243 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
244 ; GCN-NEXT: S_BRANCH %bb.1
247 ; GCN-NEXT: successors: %bb.2(0x80000000)
250 ; GCN-NEXT: S_ENDPGM 0
252 successors: %bb.1(0x40000000), %bb.2(0x40000000)
253 liveins: $sgpr0, $vgpr0_vgpr1
255 %0:sreg_32 = COPY $sgpr0
256 %1:sreg_32 = S_AND_B32 killed %0, 1, implicit-def dead $scc
257 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc
258 S_CBRANCH_SCC0 %bb.2, implicit $scc
262 successors: %bb.2(0x80000000)
270 name: cmp_eq_1_undef_src
272 ; GCN-LABEL: name: cmp_eq_1_undef_src
274 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
275 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
277 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
278 ; GCN-NEXT: S_CMP_EQ_U32 undef %1:sreg_32, 1, implicit-def $scc
279 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
280 ; GCN-NEXT: S_BRANCH %bb.1
283 ; GCN-NEXT: successors: %bb.2(0x80000000)
286 ; GCN-NEXT: S_ENDPGM 0
288 successors: %bb.1(0x40000000), %bb.2(0x40000000)
289 liveins: $sgpr0, $vgpr0_vgpr1
291 %0:sreg_32 = COPY $sgpr0
292 S_CMP_EQ_U32 undef %1:sreg_32, 1, implicit-def $scc
293 S_CBRANCH_SCC0 %bb.2, implicit $scc
297 successors: %bb.2(0x80000000)
305 name: and_1_cmp_subreg0_eq_1
307 ; GCN-LABEL: name: and_1_cmp_subreg0_eq_1
309 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
310 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
312 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
313 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc
314 ; GCN-NEXT: [[REG_SEQUENCE:%[0-9]+]]:sreg_64 = REG_SEQUENCE [[S_AND_B32_]], %subreg.sub0, [[S_AND_B32_]], %subreg.sub1
315 ; GCN-NEXT: S_CMP_EQ_U32 killed [[REG_SEQUENCE]].sub0, 1, implicit-def $scc
316 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
317 ; GCN-NEXT: S_BRANCH %bb.1
320 ; GCN-NEXT: successors: %bb.2(0x80000000)
323 ; GCN-NEXT: S_ENDPGM 0
325 successors: %bb.1(0x40000000), %bb.2(0x40000000)
326 liveins: $sgpr0, $vgpr0_vgpr1
328 %0:sreg_32 = COPY $sgpr0
329 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
330 %2:sreg_64 = REG_SEQUENCE %1, %subreg.sub0, %1, %subreg.sub1
331 S_CMP_EQ_U32 killed %2.sub0:sreg_64, 1, implicit-def $scc
332 S_CBRANCH_SCC0 %bb.2, implicit $scc
336 successors: %bb.2(0x80000000)
344 name: and_reg_cmp_eq_1
346 ; GCN-LABEL: name: and_reg_cmp_eq_1
348 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
349 ; GCN-NEXT: liveins: $sgpr0, $sgpr1, $vgpr0_vgpr1
351 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
352 ; GCN-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1
353 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 killed [[COPY]], killed [[COPY1]], implicit-def dead $scc
354 ; GCN-NEXT: S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc
355 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
356 ; GCN-NEXT: S_BRANCH %bb.1
359 ; GCN-NEXT: successors: %bb.2(0x80000000)
362 ; GCN-NEXT: S_ENDPGM 0
364 successors: %bb.1(0x40000000), %bb.2(0x40000000)
365 liveins: $sgpr0, $sgpr1, $vgpr0_vgpr1
367 %0:sreg_32 = COPY $sgpr0
368 %1:sreg_32 = COPY $sgpr1
369 %2:sreg_32 = S_AND_B32 killed %0, killed %1, implicit-def dead $scc
370 S_CMP_EQ_U32 killed %2:sreg_32, 1, implicit-def $scc
371 S_CBRANCH_SCC0 %bb.2, implicit $scc
375 successors: %bb.2(0x80000000)
383 name: and_1_cmp_eq_1_killed_scc
385 ; GCN-LABEL: name: and_1_cmp_eq_1_killed_scc
387 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
388 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
390 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
391 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def $scc
392 ; GCN-NEXT: S_NOP 0, implicit killed $scc
393 ; GCN-NEXT: S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc
394 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
395 ; GCN-NEXT: S_BRANCH %bb.1
398 ; GCN-NEXT: successors: %bb.2(0x80000000)
401 ; GCN-NEXT: S_ENDPGM 0
403 successors: %bb.1(0x40000000), %bb.2(0x40000000)
404 liveins: $sgpr0, $vgpr0_vgpr1
406 %0:sreg_32 = COPY $sgpr0
407 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def $scc
408 S_NOP 0, implicit killed $scc
409 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc
410 S_CBRANCH_SCC0 %bb.2, implicit $scc
414 successors: %bb.2(0x80000000)
422 name: and_1_cmp_eq_1_clobbered_scc
424 ; GCN-LABEL: name: and_1_cmp_eq_1_clobbered_scc
426 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
427 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
429 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
430 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def $scc
431 ; GCN-NEXT: S_NOP 0, implicit-def $scc
432 ; GCN-NEXT: S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc
433 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
434 ; GCN-NEXT: S_BRANCH %bb.1
437 ; GCN-NEXT: successors: %bb.2(0x80000000)
440 ; GCN-NEXT: S_ENDPGM 0
442 successors: %bb.1(0x40000000), %bb.2(0x40000000)
443 liveins: $sgpr0, $vgpr0_vgpr1
445 %0:sreg_32 = COPY $sgpr0
446 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def $scc
447 S_NOP 0, implicit-def $scc
448 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc
449 S_CBRANCH_SCC0 %bb.2, implicit $scc
453 successors: %bb.2(0x80000000)
463 ; GCN-LABEL: name: and_1_cmp_eq_2
465 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
466 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
468 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
469 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc
470 ; GCN-NEXT: S_CMP_EQ_U32 killed [[S_AND_B32_]], 2, implicit-def $scc
471 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
472 ; GCN-NEXT: S_BRANCH %bb.1
475 ; GCN-NEXT: successors: %bb.2(0x80000000)
478 ; GCN-NEXT: S_ENDPGM 0
480 successors: %bb.1(0x40000000), %bb.2(0x40000000)
481 liveins: $sgpr0, $vgpr0_vgpr1
483 %0:sreg_32 = COPY $sgpr0
484 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
485 S_CMP_EQ_U32 killed %1:sreg_32, 2, implicit-def $scc
486 S_CBRANCH_SCC0 %bb.2, implicit $scc
490 successors: %bb.2(0x80000000)
498 name: or_1_cmp_eq_u32_1
500 ; GCN-LABEL: name: or_1_cmp_eq_u32_1
502 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
503 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
505 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
506 ; GCN-NEXT: [[S_OR_B32_:%[0-9]+]]:sreg_32 = S_OR_B32 1, killed [[COPY]], implicit-def dead $scc
507 ; GCN-NEXT: S_CMP_EQ_U32 killed [[S_OR_B32_]], 1, implicit-def $scc
508 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
509 ; GCN-NEXT: S_BRANCH %bb.1
512 ; GCN-NEXT: successors: %bb.2(0x80000000)
515 ; GCN-NEXT: S_ENDPGM 0
517 successors: %bb.1(0x40000000), %bb.2(0x40000000)
518 liveins: $sgpr0, $vgpr0_vgpr1
520 %0:sreg_32 = COPY $sgpr0
521 %1:sreg_32 = S_OR_B32 1, killed %0, implicit-def dead $scc
522 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc
523 S_CBRANCH_SCC0 %bb.2, implicit $scc
527 successors: %bb.2(0x80000000)
535 name: and_1_cmp_ge_u32_1
537 ; GCN-LABEL: name: and_1_cmp_ge_u32_1
539 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
540 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
542 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
543 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
544 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
545 ; GCN-NEXT: S_BRANCH %bb.1
548 ; GCN-NEXT: successors: %bb.2(0x80000000)
551 ; GCN-NEXT: S_ENDPGM 0
553 successors: %bb.1(0x40000000), %bb.2(0x40000000)
554 liveins: $sgpr0, $vgpr0_vgpr1
556 %0:sreg_32 = COPY $sgpr0
557 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
558 S_CMP_GE_U32 killed %1:sreg_32, 1, implicit-def $scc
559 S_CBRANCH_SCC0 %bb.2, implicit $scc
563 successors: %bb.2(0x80000000)
571 name: and_1_cmp_ge_i32_1
573 ; GCN-LABEL: name: and_1_cmp_ge_i32_1
575 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
576 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
578 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
579 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
580 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
581 ; GCN-NEXT: S_BRANCH %bb.1
584 ; GCN-NEXT: successors: %bb.2(0x80000000)
587 ; GCN-NEXT: S_ENDPGM 0
589 successors: %bb.1(0x40000000), %bb.2(0x40000000)
590 liveins: $sgpr0, $vgpr0_vgpr1
592 %0:sreg_32 = COPY $sgpr0
593 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
594 S_CMP_GE_I32 killed %1:sreg_32, 1, implicit-def $scc
595 S_CBRANCH_SCC0 %bb.2, implicit $scc
599 successors: %bb.2(0x80000000)
607 name: and_1_cmp_gt_u32_0
609 ; GCN-LABEL: name: and_1_cmp_gt_u32_0
611 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
612 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
614 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
615 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
616 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
617 ; GCN-NEXT: S_BRANCH %bb.1
620 ; GCN-NEXT: successors: %bb.2(0x80000000)
623 ; GCN-NEXT: S_ENDPGM 0
625 successors: %bb.1(0x40000000), %bb.2(0x40000000)
626 liveins: $sgpr0, $vgpr0_vgpr1
628 %0:sreg_32 = COPY $sgpr0
629 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
630 S_CMP_GT_U32 killed %1:sreg_32, 0, implicit-def $scc
631 S_CBRANCH_SCC0 %bb.2, implicit $scc
635 successors: %bb.2(0x80000000)
643 name: and_1_cmp_gt_i32_0
645 ; GCN-LABEL: name: and_1_cmp_gt_i32_0
647 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
648 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
650 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
651 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
652 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
653 ; GCN-NEXT: S_BRANCH %bb.1
656 ; GCN-NEXT: successors: %bb.2(0x80000000)
659 ; GCN-NEXT: S_ENDPGM 0
661 successors: %bb.1(0x40000000), %bb.2(0x40000000)
662 liveins: $sgpr0, $vgpr0_vgpr1
664 %0:sreg_32 = COPY $sgpr0
665 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
666 S_CMP_GT_U32 killed %1:sreg_32, 0, implicit-def $scc
667 S_CBRANCH_SCC0 %bb.2, implicit $scc
671 successors: %bb.2(0x80000000)
681 ; GCN-LABEL: name: and_1_cmp_gt_1
683 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
684 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
686 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
687 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc
688 ; GCN-NEXT: S_CMP_GT_U32 killed [[S_AND_B32_]], 1, implicit-def $scc
689 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
690 ; GCN-NEXT: S_BRANCH %bb.1
693 ; GCN-NEXT: successors: %bb.2(0x80000000)
696 ; GCN-NEXT: S_ENDPGM 0
698 successors: %bb.1(0x40000000), %bb.2(0x40000000)
699 liveins: $sgpr0, $vgpr0_vgpr1
701 %0:sreg_32 = COPY $sgpr0
702 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
703 S_CMP_GT_U32 killed %1:sreg_32, 1, implicit-def $scc
704 S_CBRANCH_SCC0 %bb.2, implicit $scc
708 successors: %bb.2(0x80000000)
716 name: and_1_cmp_lg_u32_0
718 ; GCN-LABEL: name: and_1_cmp_lg_u32_0
720 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
721 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
723 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
724 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
725 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
726 ; GCN-NEXT: S_BRANCH %bb.1
729 ; GCN-NEXT: successors: %bb.2(0x80000000)
732 ; GCN-NEXT: S_ENDPGM 0
734 successors: %bb.1(0x40000000), %bb.2(0x40000000)
735 liveins: $sgpr0, $vgpr0_vgpr1
737 %0:sreg_32 = COPY $sgpr0
738 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
739 S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc
740 S_CBRANCH_SCC0 %bb.2, implicit $scc
744 successors: %bb.2(0x80000000)
752 name: and_1_cmp_lg_i32_0
754 ; GCN-LABEL: name: and_1_cmp_lg_i32_0
756 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
757 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
759 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
760 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
761 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
762 ; GCN-NEXT: S_BRANCH %bb.1
765 ; GCN-NEXT: successors: %bb.2(0x80000000)
768 ; GCN-NEXT: S_ENDPGM 0
770 successors: %bb.1(0x40000000), %bb.2(0x40000000)
771 liveins: $sgpr0, $vgpr0_vgpr1
773 %0:sreg_32 = COPY $sgpr0
774 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
775 S_CMP_LG_I32 killed %1:sreg_32, 0, implicit-def $scc
776 S_CBRANCH_SCC0 %bb.2, implicit $scc
780 successors: %bb.2(0x80000000)
788 name: and_1_cmp_eq_u64_1
790 ; GCN-LABEL: name: and_1_cmp_eq_u64_1
792 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
793 ; GCN-NEXT: liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
795 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
796 ; GCN-NEXT: S_BITCMP1_B64 killed [[COPY]], 0, implicit-def $scc
797 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
798 ; GCN-NEXT: S_BRANCH %bb.1
801 ; GCN-NEXT: successors: %bb.2(0x80000000)
804 ; GCN-NEXT: S_ENDPGM 0
806 successors: %bb.1(0x40000000), %bb.2(0x40000000)
807 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
809 %0:sreg_64 = COPY $sgpr0_sgpr1
810 %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc
811 S_CMP_EQ_U64 killed %1:sreg_64, 1, implicit-def $scc
812 S_CBRANCH_SCC0 %bb.2, implicit $scc
816 successors: %bb.2(0x80000000)
824 name: and_1_cmp_lg_u64_0
826 ; GCN-LABEL: name: and_1_cmp_lg_u64_0
828 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
829 ; GCN-NEXT: liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
831 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
832 ; GCN-NEXT: S_BITCMP1_B64 killed [[COPY]], 0, implicit-def $scc
833 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
834 ; GCN-NEXT: S_BRANCH %bb.1
837 ; GCN-NEXT: successors: %bb.2(0x80000000)
840 ; GCN-NEXT: S_ENDPGM 0
842 successors: %bb.1(0x40000000), %bb.2(0x40000000)
843 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
845 %0:sreg_64 = COPY $sgpr0_sgpr1
846 %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc
847 S_CMP_LG_U64 killed %1:sreg_64, 0, implicit-def $scc
848 S_CBRANCH_SCC0 %bb.2, implicit $scc
852 successors: %bb.2(0x80000000)
860 name: and_1_cmpk_eq_u32_1
862 ; GCN-LABEL: name: and_1_cmpk_eq_u32_1
864 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
865 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
867 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
868 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
869 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
870 ; GCN-NEXT: S_BRANCH %bb.1
873 ; GCN-NEXT: successors: %bb.2(0x80000000)
876 ; GCN-NEXT: S_ENDPGM 0
878 successors: %bb.1(0x40000000), %bb.2(0x40000000)
879 liveins: $sgpr0, $vgpr0_vgpr1
881 %0:sreg_32 = COPY $sgpr0
882 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
883 S_CMPK_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc
884 S_CBRANCH_SCC0 %bb.2, implicit $scc
888 successors: %bb.2(0x80000000)
896 name: and_1_cmpk_eq_i32_1
898 ; GCN-LABEL: name: and_1_cmpk_eq_i32_1
900 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
901 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
903 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
904 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
905 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
906 ; GCN-NEXT: S_BRANCH %bb.1
909 ; GCN-NEXT: successors: %bb.2(0x80000000)
912 ; GCN-NEXT: S_ENDPGM 0
914 successors: %bb.1(0x40000000), %bb.2(0x40000000)
915 liveins: $sgpr0, $vgpr0_vgpr1
917 %0:sreg_32 = COPY $sgpr0
918 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
919 S_CMPK_EQ_I32 killed %1:sreg_32, 1, implicit-def $scc
920 S_CBRANCH_SCC0 %bb.2, implicit $scc
924 successors: %bb.2(0x80000000)
932 name: and_1_cmpk_ge_u32_1
934 ; GCN-LABEL: name: and_1_cmpk_ge_u32_1
936 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
937 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
939 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
940 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
941 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
942 ; GCN-NEXT: S_BRANCH %bb.1
945 ; GCN-NEXT: successors: %bb.2(0x80000000)
948 ; GCN-NEXT: S_ENDPGM 0
950 successors: %bb.1(0x40000000), %bb.2(0x40000000)
951 liveins: $sgpr0, $vgpr0_vgpr1
953 %0:sreg_32 = COPY $sgpr0
954 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
955 S_CMPK_GE_U32 killed %1:sreg_32, 1, implicit-def $scc
956 S_CBRANCH_SCC0 %bb.2, implicit $scc
960 successors: %bb.2(0x80000000)
968 name: and_1_cmpk_ge_i32_1
970 ; GCN-LABEL: name: and_1_cmpk_ge_i32_1
972 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
973 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
975 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
976 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
977 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
978 ; GCN-NEXT: S_BRANCH %bb.1
981 ; GCN-NEXT: successors: %bb.2(0x80000000)
984 ; GCN-NEXT: S_ENDPGM 0
986 successors: %bb.1(0x40000000), %bb.2(0x40000000)
987 liveins: $sgpr0, $vgpr0_vgpr1
989 %0:sreg_32 = COPY $sgpr0
990 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
991 S_CMPK_GE_I32 killed %1:sreg_32, 1, implicit-def $scc
992 S_CBRANCH_SCC0 %bb.2, implicit $scc
996 successors: %bb.2(0x80000000)
1004 name: and_1_cmpk_lg_u32_0
1006 ; GCN-LABEL: name: and_1_cmpk_lg_u32_0
1008 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1009 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1011 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1012 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
1013 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1014 ; GCN-NEXT: S_BRANCH %bb.1
1017 ; GCN-NEXT: successors: %bb.2(0x80000000)
1020 ; GCN-NEXT: S_ENDPGM 0
1022 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1023 liveins: $sgpr0, $vgpr0_vgpr1
1025 %0:sreg_32 = COPY $sgpr0
1026 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
1027 S_CMPK_LG_U32 killed %1:sreg_32, 0, implicit-def $scc
1028 S_CBRANCH_SCC0 %bb.2, implicit $scc
1032 successors: %bb.2(0x80000000)
1040 name: and_1_cmpk_lg_i32_0
1042 ; GCN-LABEL: name: and_1_cmpk_lg_i32_0
1044 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1045 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1047 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1048 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
1049 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1050 ; GCN-NEXT: S_BRANCH %bb.1
1053 ; GCN-NEXT: successors: %bb.2(0x80000000)
1056 ; GCN-NEXT: S_ENDPGM 0
1058 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1059 liveins: $sgpr0, $vgpr0_vgpr1
1061 %0:sreg_32 = COPY $sgpr0
1062 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
1063 S_CMPK_LG_I32 killed %1:sreg_32, 0, implicit-def $scc
1064 S_CBRANCH_SCC0 %bb.2, implicit $scc
1068 successors: %bb.2(0x80000000)
1076 name: and_1_cmpk_gt_u32_0
1078 ; GCN-LABEL: name: and_1_cmpk_gt_u32_0
1080 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1081 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1083 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1084 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
1085 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1086 ; GCN-NEXT: S_BRANCH %bb.1
1089 ; GCN-NEXT: successors: %bb.2(0x80000000)
1092 ; GCN-NEXT: S_ENDPGM 0
1094 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1095 liveins: $sgpr0, $vgpr0_vgpr1
1097 %0:sreg_32 = COPY $sgpr0
1098 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
1099 S_CMPK_GT_U32 killed %1:sreg_32, 0, implicit-def $scc
1100 S_CBRANCH_SCC0 %bb.2, implicit $scc
1104 successors: %bb.2(0x80000000)
1112 name: and_1_cmpk_gt_i32_0
1114 ; GCN-LABEL: name: and_1_cmpk_gt_i32_0
1116 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1117 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1119 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1120 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
1121 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1122 ; GCN-NEXT: S_BRANCH %bb.1
1125 ; GCN-NEXT: successors: %bb.2(0x80000000)
1128 ; GCN-NEXT: S_ENDPGM 0
1130 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1131 liveins: $sgpr0, $vgpr0_vgpr1
1133 %0:sreg_32 = COPY $sgpr0
1134 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
1135 S_CMPK_GT_I32 killed %1:sreg_32, 0, implicit-def $scc
1136 S_CBRANCH_SCC0 %bb.2, implicit $scc
1140 successors: %bb.2(0x80000000)
1148 name: and_1_cmp_eq_u32_1_imm_src
1150 ; GCN-LABEL: name: and_1_cmp_eq_u32_1_imm_src
1152 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1153 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1155 ; GCN-NEXT: S_BITCMP1_B32 11, 0, implicit-def $scc
1156 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1157 ; GCN-NEXT: S_BRANCH %bb.1
1160 ; GCN-NEXT: successors: %bb.2(0x80000000)
1163 ; GCN-NEXT: S_ENDPGM 0
1165 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1166 liveins: $sgpr0, $vgpr0_vgpr1
1168 %0:sreg_32 = S_AND_B32 1, 11, implicit-def dead $scc
1169 S_CMP_EQ_U32 killed %0:sreg_32, 1, implicit-def $scc
1170 S_CBRANCH_SCC0 %bb.2, implicit $scc
1174 successors: %bb.2(0x80000000)
1182 name: and_1_cmp_eq_u32_0
1184 ; GCN-LABEL: name: and_1_cmp_eq_u32_0
1186 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1187 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1189 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1190 ; GCN-NEXT: S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc
1191 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1192 ; GCN-NEXT: S_BRANCH %bb.1
1195 ; GCN-NEXT: successors: %bb.2(0x80000000)
1198 ; GCN-NEXT: S_ENDPGM 0
1200 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1201 liveins: $sgpr0, $vgpr0_vgpr1
1203 %0:sreg_32 = COPY $sgpr0
1204 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
1205 S_CMP_EQ_U32 killed %1:sreg_32, 0, implicit-def $scc
1206 S_CBRANCH_SCC0 %bb.2, implicit $scc
1210 successors: %bb.2(0x80000000)
1218 name: and_1_cmp_eq_i32_0
1220 ; GCN-LABEL: name: and_1_cmp_eq_i32_0
1222 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1223 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1225 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1226 ; GCN-NEXT: S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc
1227 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1228 ; GCN-NEXT: S_BRANCH %bb.1
1231 ; GCN-NEXT: successors: %bb.2(0x80000000)
1234 ; GCN-NEXT: S_ENDPGM 0
1236 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1237 liveins: $sgpr0, $vgpr0_vgpr1
1239 %0:sreg_32 = COPY $sgpr0
1240 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
1241 S_CMP_EQ_I32 killed %1:sreg_32, 0, implicit-def $scc
1242 S_CBRANCH_SCC0 %bb.2, implicit $scc
1246 successors: %bb.2(0x80000000)
1254 name: and_1_cmp_eq_u64_0
1256 ; GCN-LABEL: name: and_1_cmp_eq_u64_0
1258 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1259 ; GCN-NEXT: liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
1261 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
1262 ; GCN-NEXT: S_BITCMP0_B64 killed [[COPY]], 0, implicit-def $scc
1263 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1264 ; GCN-NEXT: S_BRANCH %bb.1
1267 ; GCN-NEXT: successors: %bb.2(0x80000000)
1270 ; GCN-NEXT: S_ENDPGM 0
1272 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1273 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
1275 %0:sreg_64 = COPY $sgpr0_sgpr1
1276 %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc
1277 S_CMP_EQ_U64 killed %1:sreg_64, 0, implicit-def $scc
1278 S_CBRANCH_SCC0 %bb.2, implicit $scc
1282 successors: %bb.2(0x80000000)
1290 name: and_1_cmp_lg_u32_1
1292 ; GCN-LABEL: name: and_1_cmp_lg_u32_1
1294 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1295 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1297 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1298 ; GCN-NEXT: S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc
1299 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1300 ; GCN-NEXT: S_BRANCH %bb.1
1303 ; GCN-NEXT: successors: %bb.2(0x80000000)
1306 ; GCN-NEXT: S_ENDPGM 0
1308 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1309 liveins: $sgpr0, $vgpr0_vgpr1
1311 %0:sreg_32 = COPY $sgpr0
1312 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
1313 S_CMP_LG_U32 killed %1:sreg_32, 1, implicit-def $scc
1314 S_CBRANCH_SCC0 %bb.2, implicit $scc
1318 successors: %bb.2(0x80000000)
1326 name: and_1_cmp_lg_i32_1
1328 ; GCN-LABEL: name: and_1_cmp_lg_i32_1
1330 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1331 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1333 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1334 ; GCN-NEXT: S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc
1335 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1336 ; GCN-NEXT: S_BRANCH %bb.1
1339 ; GCN-NEXT: successors: %bb.2(0x80000000)
1342 ; GCN-NEXT: S_ENDPGM 0
1344 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1345 liveins: $sgpr0, $vgpr0_vgpr1
1347 %0:sreg_32 = COPY $sgpr0
1348 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
1349 S_CMP_LG_I32 killed %1:sreg_32, 1, implicit-def $scc
1350 S_CBRANCH_SCC0 %bb.2, implicit $scc
1354 successors: %bb.2(0x80000000)
1362 name: and_1_cmp_lg_u64_1
1364 ; GCN-LABEL: name: and_1_cmp_lg_u64_1
1366 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1367 ; GCN-NEXT: liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
1369 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
1370 ; GCN-NEXT: S_BITCMP0_B64 killed [[COPY]], 0, implicit-def $scc
1371 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1372 ; GCN-NEXT: S_BRANCH %bb.1
1375 ; GCN-NEXT: successors: %bb.2(0x80000000)
1378 ; GCN-NEXT: S_ENDPGM 0
1380 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1381 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
1383 %0:sreg_64 = COPY $sgpr0_sgpr1
1384 %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc
1385 S_CMP_LG_U64 killed %1:sreg_64, 1, implicit-def $scc
1386 S_CBRANCH_SCC0 %bb.2, implicit $scc
1390 successors: %bb.2(0x80000000)
1398 name: and_1_cmp_eq_u32_0_used_and
1400 ; GCN-LABEL: name: and_1_cmp_eq_u32_0_used_and
1402 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1403 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1405 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1406 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc
1407 ; GCN-NEXT: S_CMP_EQ_U32 [[S_AND_B32_]], 0, implicit-def $scc
1408 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1409 ; GCN-NEXT: S_BRANCH %bb.1
1412 ; GCN-NEXT: successors: %bb.2(0x80000000)
1414 ; GCN-NEXT: S_NOP 0, implicit [[S_AND_B32_]]
1417 ; GCN-NEXT: S_ENDPGM 0
1419 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1420 liveins: $sgpr0, $vgpr0_vgpr1
1422 %0:sreg_32 = COPY $sgpr0
1423 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
1424 S_CMP_EQ_U32 %1:sreg_32, 0, implicit-def $scc
1425 S_CBRANCH_SCC0 %bb.2, implicit $scc
1429 successors: %bb.2(0x80000000)
1431 S_NOP 0, implicit %1
1438 name: and_1_cmp_ge_u32_0
1440 ; GCN-LABEL: name: and_1_cmp_ge_u32_0
1442 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1443 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1445 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1446 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc
1447 ; GCN-NEXT: S_CMP_GE_U32 killed [[S_AND_B32_]], 0, implicit-def $scc
1448 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1449 ; GCN-NEXT: S_BRANCH %bb.1
1452 ; GCN-NEXT: successors: %bb.2(0x80000000)
1455 ; GCN-NEXT: S_ENDPGM 0
1457 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1458 liveins: $sgpr0, $vgpr0_vgpr1
1460 %0:sreg_32 = COPY $sgpr0
1461 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
1462 S_CMP_GE_U32 killed %1:sreg_32, 0, implicit-def $scc
1463 S_CBRANCH_SCC0 %bb.2, implicit $scc
1467 successors: %bb.2(0x80000000)
1475 name: and_1_cmp_gt_u32_1
1477 ; GCN-LABEL: name: and_1_cmp_gt_u32_1
1479 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1480 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1482 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1483 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc
1484 ; GCN-NEXT: S_CMP_GT_U32 killed [[S_AND_B32_]], 1, implicit-def $scc
1485 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1486 ; GCN-NEXT: S_BRANCH %bb.1
1489 ; GCN-NEXT: successors: %bb.2(0x80000000)
1492 ; GCN-NEXT: S_ENDPGM 0
1494 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1495 liveins: $sgpr0, $vgpr0_vgpr1
1497 %0:sreg_32 = COPY $sgpr0
1498 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc
1499 S_CMP_GT_U32 killed %1:sreg_32, 1, implicit-def $scc
1500 S_CBRANCH_SCC0 %bb.2, implicit $scc
1504 successors: %bb.2(0x80000000)
1512 name: and_1_folded_src0_cmp_eq_u32_1_folded_src2
1514 ; GCN-LABEL: name: and_1_folded_src0_cmp_eq_u32_1_folded_src2
1516 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1517 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1519 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1520 ; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 1
1521 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
1522 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1523 ; GCN-NEXT: S_BRANCH %bb.1
1526 ; GCN-NEXT: successors: %bb.2(0x80000000)
1529 ; GCN-NEXT: S_ENDPGM 0
1531 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1532 liveins: $sgpr0, $vgpr0_vgpr1
1534 %0:sreg_32 = COPY $sgpr0
1535 %1:sreg_32 = S_MOV_B32 1
1536 %2:sreg_32 = S_AND_B32 %1, killed %0, implicit-def dead $scc
1537 S_CMP_EQ_U32 killed %2:sreg_32, %1, implicit-def $scc
1538 S_CBRANCH_SCC0 %bb.2, implicit $scc
1542 successors: %bb.2(0x80000000)
1550 name: and_1_folded_src1_cmp_eq_u32_1_folded_src2
1552 ; GCN-LABEL: name: and_1_folded_src1_cmp_eq_u32_1_folded_src2
1554 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1555 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1557 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1558 ; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 1
1559 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc
1560 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1561 ; GCN-NEXT: S_BRANCH %bb.1
1564 ; GCN-NEXT: successors: %bb.2(0x80000000)
1567 ; GCN-NEXT: S_ENDPGM 0
1569 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1570 liveins: $sgpr0, $vgpr0_vgpr1
1572 %0:sreg_32 = COPY $sgpr0
1573 %1:sreg_32 = S_MOV_B32 1
1574 %2:sreg_32 = S_AND_B32 killed %0, %1, implicit-def dead $scc
1575 S_CMP_EQ_U32 killed %2:sreg_32, %1, implicit-def $scc
1576 S_CBRANCH_SCC0 %bb.2, implicit $scc
1580 successors: %bb.2(0x80000000)
1588 name: and_1_folded_src1_cmp_eq_u64_1_folded_src2
1590 ; GCN-LABEL: name: and_1_folded_src1_cmp_eq_u64_1_folded_src2
1592 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1593 ; GCN-NEXT: liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
1595 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
1596 ; GCN-NEXT: [[S_MOV_B64_:%[0-9]+]]:sreg_64 = S_MOV_B64 1
1597 ; GCN-NEXT: S_BITCMP1_B64 killed [[COPY]], 0, implicit-def $scc
1598 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1599 ; GCN-NEXT: S_BRANCH %bb.1
1602 ; GCN-NEXT: successors: %bb.2(0x80000000)
1605 ; GCN-NEXT: S_ENDPGM 0
1607 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1608 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
1610 %0:sreg_64 = COPY $sgpr0_sgpr1
1611 %1:sreg_64 = S_MOV_B64 1
1612 %2:sreg_64 = S_AND_B64 killed %0, %1, implicit-def dead $scc
1613 S_CMP_EQ_U64 killed %2:sreg_64, %1, implicit-def $scc
1614 S_CBRANCH_SCC0 %bb.2, implicit $scc
1618 successors: %bb.2(0x80000000)
1626 name: and_1024_cmp_eq_u32_1024
1628 ; GCN-LABEL: name: and_1024_cmp_eq_u32_1024
1630 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1631 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1633 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1634 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 10, implicit-def $scc
1635 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1636 ; GCN-NEXT: S_BRANCH %bb.1
1639 ; GCN-NEXT: successors: %bb.2(0x80000000)
1642 ; GCN-NEXT: S_ENDPGM 0
1644 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1645 liveins: $sgpr0, $vgpr0_vgpr1
1647 %0:sreg_32 = COPY $sgpr0
1648 %1:sreg_32 = S_AND_B32 1024, killed %0, implicit-def dead $scc
1649 S_CMP_EQ_U32 killed %1:sreg_32, 1024, implicit-def $scc
1650 S_CBRANCH_SCC0 %bb.2, implicit $scc
1654 successors: %bb.2(0x80000000)
1662 name: and_0x80000000_cmp_eq_u32_0x80000000
1664 ; GCN-LABEL: name: and_0x80000000_cmp_eq_u32_0x80000000
1666 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1667 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1669 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1670 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc
1671 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1672 ; GCN-NEXT: S_BRANCH %bb.1
1675 ; GCN-NEXT: successors: %bb.2(0x80000000)
1678 ; GCN-NEXT: S_ENDPGM 0
1680 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1681 liveins: $sgpr0, $vgpr0_vgpr1
1683 %0:sreg_32 = COPY $sgpr0
1684 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc
1685 S_CMP_EQ_U32 killed %1:sreg_32, 2147483648, implicit-def $scc
1686 S_CBRANCH_SCC0 %bb.2, implicit $scc
1690 successors: %bb.2(0x80000000)
1698 name: and_0x80000000_cmp_ge_u32_0x80000000
1700 ; GCN-LABEL: name: and_0x80000000_cmp_ge_u32_0x80000000
1702 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1703 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1705 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1706 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc
1707 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1708 ; GCN-NEXT: S_BRANCH %bb.1
1711 ; GCN-NEXT: successors: %bb.2(0x80000000)
1714 ; GCN-NEXT: S_ENDPGM 0
1716 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1717 liveins: $sgpr0, $vgpr0_vgpr1
1719 %0:sreg_32 = COPY $sgpr0
1720 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc
1721 S_CMP_GE_U32 killed %1:sreg_32, 2147483648, implicit-def $scc
1722 S_CBRANCH_SCC0 %bb.2, implicit $scc
1726 successors: %bb.2(0x80000000)
1734 name: and_0x80000000_cmp_ge_i32_0x80000000
1736 ; GCN-LABEL: name: and_0x80000000_cmp_ge_i32_0x80000000
1738 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1739 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1741 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1742 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 2147483648, killed [[COPY]], implicit-def dead $scc
1743 ; GCN-NEXT: S_CMP_GE_I32 killed [[S_AND_B32_]], 2147483648, implicit-def $scc
1744 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1745 ; GCN-NEXT: S_BRANCH %bb.1
1748 ; GCN-NEXT: successors: %bb.2(0x80000000)
1751 ; GCN-NEXT: S_ENDPGM 0
1753 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1754 liveins: $sgpr0, $vgpr0_vgpr1
1756 %0:sreg_32 = COPY $sgpr0
1757 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc
1758 S_CMP_GE_I32 killed %1:sreg_32, 2147483648, implicit-def $scc
1759 S_CBRANCH_SCC0 %bb.2, implicit $scc
1763 successors: %bb.2(0x80000000)
1771 name: and_1024_cmp_ge_i32_1024
1773 ; GCN-LABEL: name: and_1024_cmp_ge_i32_1024
1775 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1776 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1778 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1779 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 10, implicit-def $scc
1780 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1781 ; GCN-NEXT: S_BRANCH %bb.1
1784 ; GCN-NEXT: successors: %bb.2(0x80000000)
1787 ; GCN-NEXT: S_ENDPGM 0
1789 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1790 liveins: $sgpr0, $vgpr0_vgpr1
1792 %0:sreg_32 = COPY $sgpr0
1793 %1:sreg_32 = S_AND_B32 1024, killed %0, implicit-def dead $scc
1794 S_CMP_GE_I32 killed %1:sreg_32, 1024, implicit-def $scc
1795 S_CBRANCH_SCC0 %bb.2, implicit $scc
1799 successors: %bb.2(0x80000000)
1807 name: and_0x80000000_cmp_lg_i32_0
1809 ; GCN-LABEL: name: and_0x80000000_cmp_lg_i32_0
1811 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1812 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1814 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1815 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc
1816 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1817 ; GCN-NEXT: S_BRANCH %bb.1
1820 ; GCN-NEXT: successors: %bb.2(0x80000000)
1823 ; GCN-NEXT: S_ENDPGM 0
1825 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1826 liveins: $sgpr0, $vgpr0_vgpr1
1828 %0:sreg_32 = COPY $sgpr0
1829 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc
1830 S_CMP_LG_I32 killed %1:sreg_32, 0, implicit-def $scc
1831 S_CBRANCH_SCC0 %bb.2, implicit $scc
1835 successors: %bb.2(0x80000000)
1843 name: and_0x80000000_cmp_gt_i32_0
1845 ; GCN-LABEL: name: and_0x80000000_cmp_gt_i32_0
1847 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1848 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1850 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1851 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 2147483648, killed [[COPY]], implicit-def dead $scc
1852 ; GCN-NEXT: S_CMP_GT_I32 killed [[S_AND_B32_]], 0, implicit-def $scc
1853 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1854 ; GCN-NEXT: S_BRANCH %bb.1
1857 ; GCN-NEXT: successors: %bb.2(0x80000000)
1860 ; GCN-NEXT: S_ENDPGM 0
1862 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1863 liveins: $sgpr0, $vgpr0_vgpr1
1865 %0:sreg_32 = COPY $sgpr0
1866 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc
1867 S_CMP_GT_I32 killed %1:sreg_32, 0, implicit-def $scc
1868 S_CBRANCH_SCC0 %bb.2, implicit $scc
1872 successors: %bb.2(0x80000000)
1880 name: and_0x80000000_cmp_gt_u32_0
1882 ; GCN-LABEL: name: and_0x80000000_cmp_gt_u32_0
1884 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1885 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1887 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1888 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc
1889 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1890 ; GCN-NEXT: S_BRANCH %bb.1
1893 ; GCN-NEXT: successors: %bb.2(0x80000000)
1896 ; GCN-NEXT: S_ENDPGM 0
1898 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1899 liveins: $sgpr0, $vgpr0_vgpr1
1901 %0:sreg_32 = COPY $sgpr0
1902 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc
1903 S_CMP_GT_U32 killed %1:sreg_32, 0, implicit-def $scc
1904 S_CBRANCH_SCC0 %bb.2, implicit $scc
1908 successors: %bb.2(0x80000000)
1916 name: and_0x80000000_cmp_eq_u64_0x80000000
1918 ; GCN-LABEL: name: and_0x80000000_cmp_eq_u64_0x80000000
1920 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1921 ; GCN-NEXT: liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
1923 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
1924 ; GCN-NEXT: S_BITCMP1_B64 killed [[COPY]], 35, implicit-def $scc
1925 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1926 ; GCN-NEXT: S_BRANCH %bb.1
1929 ; GCN-NEXT: successors: %bb.2(0x80000000)
1932 ; GCN-NEXT: S_ENDPGM 0
1934 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1935 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
1937 %0:sreg_64 = COPY $sgpr0_sgpr1
1938 %1:sreg_64 = S_AND_B64 34359738368, killed %0, implicit-def dead $scc
1939 S_CMP_EQ_U64 killed %1:sreg_64, 34359738368, implicit-def $scc
1940 S_CBRANCH_SCC0 %bb.2, implicit $scc
1944 successors: %bb.2(0x80000000)
1952 name: and_0x8000000000000000_cmp_eq_u64_0x8000000000000000
1954 ; GCN-LABEL: name: and_0x8000000000000000_cmp_eq_u64_0x8000000000000000
1956 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1957 ; GCN-NEXT: liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
1959 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
1960 ; GCN-NEXT: S_BITCMP1_B64 killed [[COPY]], 63, implicit-def $scc
1961 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1962 ; GCN-NEXT: S_BRANCH %bb.1
1965 ; GCN-NEXT: successors: %bb.2(0x80000000)
1968 ; GCN-NEXT: S_ENDPGM 0
1970 successors: %bb.1(0x40000000), %bb.2(0x40000000)
1971 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
1973 %0:sreg_64 = COPY $sgpr0_sgpr1
1974 %1:sreg_64 = S_AND_B64 9223372036854775808, killed %0, implicit-def dead $scc
1975 S_CMP_EQ_U64 killed %1:sreg_64, 9223372036854775808, implicit-def $scc
1976 S_CBRANCH_SCC0 %bb.2, implicit $scc
1980 successors: %bb.2(0x80000000)
1988 name: and_2_cmp_eq_u32_2_used_and
1990 ; GCN-LABEL: name: and_2_cmp_eq_u32_2_used_and
1992 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
1993 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
1995 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
1996 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 2, killed [[COPY]], implicit-def $scc
1997 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
1998 ; GCN-NEXT: S_BRANCH %bb.1
2001 ; GCN-NEXT: successors: %bb.2(0x80000000)
2003 ; GCN-NEXT: S_NOP 0, implicit [[S_AND_B32_]]
2006 ; GCN-NEXT: S_ENDPGM 0
2008 successors: %bb.1(0x40000000), %bb.2(0x40000000)
2009 liveins: $sgpr0, $vgpr0_vgpr1
2011 %0:sreg_32 = COPY $sgpr0
2012 %1:sreg_32 = S_AND_B32 2, killed %0, implicit-def dead $scc
2013 S_CMP_EQ_U32 %1:sreg_32, 2, implicit-def $scc
2014 S_CBRANCH_SCC0 %bb.2, implicit $scc
2018 successors: %bb.2(0x80000000)
2020 S_NOP 0, implicit %1
2028 name: and_3_cmp_eq_u32_3
2030 ; GCN-LABEL: name: and_3_cmp_eq_u32_3
2032 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
2033 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
2035 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
2036 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 3, killed [[COPY]], implicit-def dead $scc
2037 ; GCN-NEXT: S_CMP_EQ_U32 killed [[S_AND_B32_]], 3, implicit-def $scc
2038 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
2039 ; GCN-NEXT: S_BRANCH %bb.1
2042 ; GCN-NEXT: successors: %bb.2(0x80000000)
2045 ; GCN-NEXT: S_ENDPGM 0
2047 successors: %bb.1(0x40000000), %bb.2(0x40000000)
2048 liveins: $sgpr0, $vgpr0_vgpr1
2050 %0:sreg_32 = COPY $sgpr0
2051 %1:sreg_32 = S_AND_B32 3, killed %0, implicit-def dead $scc
2052 S_CMP_EQ_U32 killed %1:sreg_32, 3, implicit-def $scc
2053 S_CBRANCH_SCC0 %bb.2, implicit $scc
2057 successors: %bb.2(0x80000000)
2065 name: and_3_cmp_lg_u32_0
2067 ; GCN-LABEL: name: and_3_cmp_lg_u32_0
2069 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
2070 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
2072 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
2073 ; GCN-NEXT: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 3, killed [[COPY]], implicit-def dead $scc
2074 ; GCN-NEXT: S_CMP_LG_U32 killed [[S_AND_B32_]], 0, implicit-def $scc
2075 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
2076 ; GCN-NEXT: S_BRANCH %bb.1
2079 ; GCN-NEXT: successors: %bb.2(0x80000000)
2082 ; GCN-NEXT: S_ENDPGM 0
2084 successors: %bb.1(0x40000000), %bb.2(0x40000000)
2085 liveins: $sgpr0, $vgpr0_vgpr1
2087 %0:sreg_32 = COPY $sgpr0
2088 %1:sreg_32 = S_AND_B32 3, killed %0, implicit-def dead $scc
2089 S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc
2090 S_CBRANCH_SCC0 %bb.2, implicit $scc
2094 successors: %bb.2(0x80000000)
2102 name: and_4_cmp_lg_u32_0
2104 ; GCN-LABEL: name: and_4_cmp_lg_u32_0
2106 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
2107 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
2109 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
2110 ; GCN-NEXT: S_BITCMP1_B32 killed [[COPY]], 2, implicit-def $scc
2111 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
2112 ; GCN-NEXT: S_BRANCH %bb.1
2115 ; GCN-NEXT: successors: %bb.2(0x80000000)
2118 ; GCN-NEXT: S_ENDPGM 0
2120 successors: %bb.1(0x40000000), %bb.2(0x40000000)
2121 liveins: $sgpr0, $vgpr0_vgpr1
2123 %0:sreg_32 = COPY $sgpr0
2124 %1:sreg_32 = S_AND_B32 4, killed %0, implicit-def dead $scc
2125 S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc
2126 S_CBRANCH_SCC0 %bb.2, implicit $scc
2130 successors: %bb.2(0x80000000)
2138 name: and_0x80000000_cmp_eq_u32_0
2140 ; GCN-LABEL: name: and_0x80000000_cmp_eq_u32_0
2142 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
2143 ; GCN-NEXT: liveins: $sgpr0, $vgpr0_vgpr1
2145 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
2146 ; GCN-NEXT: S_BITCMP0_B32 killed [[COPY]], 31, implicit-def $scc
2147 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
2148 ; GCN-NEXT: S_BRANCH %bb.1
2151 ; GCN-NEXT: successors: %bb.2(0x80000000)
2154 ; GCN-NEXT: S_ENDPGM 0
2156 successors: %bb.1(0x40000000), %bb.2(0x40000000)
2157 liveins: $sgpr0, $vgpr0_vgpr1
2159 %0:sreg_32 = COPY $sgpr0
2160 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc
2161 S_CMP_EQ_U32 killed %1:sreg_32, 0, implicit-def $scc
2162 S_CBRANCH_SCC0 %bb.2, implicit $scc
2166 successors: %bb.2(0x80000000)
2174 name: and_0x8000000000000000_cmp_lg_u64_0x8000000000000000
2176 ; GCN-LABEL: name: and_0x8000000000000000_cmp_lg_u64_0x8000000000000000
2178 ; GCN-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
2179 ; GCN-NEXT: liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
2181 ; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1
2182 ; GCN-NEXT: S_BITCMP0_B64 killed [[COPY]], 63, implicit-def $scc
2183 ; GCN-NEXT: S_CBRANCH_SCC0 %bb.2, implicit $scc
2184 ; GCN-NEXT: S_BRANCH %bb.1
2187 ; GCN-NEXT: successors: %bb.2(0x80000000)
2190 ; GCN-NEXT: S_ENDPGM 0
2192 successors: %bb.1(0x40000000), %bb.2(0x40000000)
2193 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1
2195 %0:sreg_64 = COPY $sgpr0_sgpr1
2196 %1:sreg_64 = S_AND_B64 9223372036854775808, killed %0, implicit-def dead $scc
2197 S_CMP_LG_U64 killed %1:sreg_64, 9223372036854775808, implicit-def $scc
2198 S_CBRANCH_SCC0 %bb.2, implicit $scc
2202 successors: %bb.2(0x80000000)