brintos

brintos / llvm-project-archived public Read only

0
0
Text · 70.5 KiB · fa452f3 Raw
2458 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass=peephole-opt --verify-machineinstrs -o - %s | FileCheck -check-prefix=GCN %s3 4---5name:            and_1_cmp_eq_u32_16body:             |7  ; GCN-LABEL: name: and_1_cmp_eq_u32_18  ; GCN: bb.0:9  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)10  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr111  ; GCN-NEXT: {{  $}}12  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr013  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc14  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc15  ; GCN-NEXT:   S_BRANCH %bb.116  ; GCN-NEXT: {{  $}}17  ; GCN-NEXT: bb.1:18  ; GCN-NEXT:   successors: %bb.2(0x80000000)19  ; GCN-NEXT: {{  $}}20  ; GCN-NEXT: bb.2:21  ; GCN-NEXT:   S_ENDPGM 022  bb.0:23    successors: %bb.1(0x40000000), %bb.2(0x40000000)24    liveins: $sgpr0, $vgpr0_vgpr125 26    %0:sreg_32 = COPY $sgpr027    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc28    S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc29    S_CBRANCH_SCC0 %bb.2, implicit $scc30    S_BRANCH %bb.131 32  bb.1:33    successors: %bb.2(0x80000000)34 35  bb.2:36    S_ENDPGM 037 38...39 40---41name:            and_1_cmp_eq_u32_1_used_and42body:             |43  ; GCN-LABEL: name: and_1_cmp_eq_u32_1_used_and44  ; GCN: bb.0:45  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)46  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr147  ; GCN-NEXT: {{  $}}48  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr049  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def $scc50  ; GCN-NEXT:   S_NOP 0, implicit [[S_AND_B32_]]51  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc52  ; GCN-NEXT:   S_BRANCH %bb.153  ; GCN-NEXT: {{  $}}54  ; GCN-NEXT: bb.1:55  ; GCN-NEXT:   successors: %bb.2(0x80000000)56  ; GCN-NEXT: {{  $}}57  ; GCN-NEXT: bb.2:58  ; GCN-NEXT:   S_ENDPGM 059  bb.0:60    successors: %bb.1(0x40000000), %bb.2(0x40000000)61    liveins: $sgpr0, $vgpr0_vgpr162 63    %0:sreg_32 = COPY $sgpr064    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc65    S_NOP 0, implicit %166    S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc67    S_CBRANCH_SCC0 %bb.2, implicit $scc68    S_BRANCH %bb.169 70  bb.1:71    successors: %bb.2(0x80000000)72 73  bb.2:74    S_ENDPGM 075 76...77 78---79name:            and_1_cmp_eq_i32_180body:             |81  ; GCN-LABEL: name: and_1_cmp_eq_i32_182  ; GCN: bb.0:83  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)84  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr185  ; GCN-NEXT: {{  $}}86  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr087  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc88  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc89  ; GCN-NEXT:   S_BRANCH %bb.190  ; GCN-NEXT: {{  $}}91  ; GCN-NEXT: bb.1:92  ; GCN-NEXT:   successors: %bb.2(0x80000000)93  ; GCN-NEXT: {{  $}}94  ; GCN-NEXT: bb.2:95  ; GCN-NEXT:   S_ENDPGM 096  bb.0:97    successors: %bb.1(0x40000000), %bb.2(0x40000000)98    liveins: $sgpr0, $vgpr0_vgpr199 100    %0:sreg_32 = COPY $sgpr0101    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc102    S_CMP_EQ_I32 killed %1:sreg_32, 1, implicit-def $scc103    S_CBRANCH_SCC0 %bb.2, implicit $scc104    S_BRANCH %bb.1105 106  bb.1:107    successors: %bb.2(0x80000000)108 109  bb.2:110    S_ENDPGM 0111 112...113 114---115name:            and_1_cmp_eq_i32_1_phys116body:             |117  ; GCN-LABEL: name: and_1_cmp_eq_i32_1_phys118  ; GCN: bb.0:119  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)120  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1121  ; GCN-NEXT: {{  $}}122  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0123  ; GCN-NEXT:   $sgpr2 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc124  ; GCN-NEXT:   S_CMP_EQ_I32 killed $sgpr2, 1, implicit-def $scc125  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc126  ; GCN-NEXT:   S_BRANCH %bb.1127  ; GCN-NEXT: {{  $}}128  ; GCN-NEXT: bb.1:129  ; GCN-NEXT:   successors: %bb.2(0x80000000)130  ; GCN-NEXT: {{  $}}131  ; GCN-NEXT: bb.2:132  ; GCN-NEXT:   S_ENDPGM 0133  bb.0:134    successors: %bb.1(0x40000000), %bb.2(0x40000000)135    liveins: $sgpr0, $vgpr0_vgpr1136 137    %0:sreg_32 = COPY $sgpr0138    $sgpr2 = S_AND_B32 1, killed %0, implicit-def dead $scc139    S_CMP_EQ_I32 killed $sgpr2, 1, implicit-def $scc140    S_CBRANCH_SCC0 %bb.2, implicit $scc141    S_BRANCH %bb.1142 143  bb.1:144    successors: %bb.2(0x80000000)145 146  bb.2:147    S_ENDPGM 0148 149...150 151---152name:            and_1_cmp_eq_i32_1_different_blocks153body:             |154  ; GCN-LABEL: name: and_1_cmp_eq_i32_1_different_blocks155  ; GCN: bb.0:156  ; GCN-NEXT:   successors: %bb.1(0x80000000)157  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1158  ; GCN-NEXT: {{  $}}159  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0160  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc161  ; GCN-NEXT: {{  $}}162  ; GCN-NEXT: bb.1:163  ; GCN-NEXT:   successors: %bb.2(0x40000000), %bb.1(0x40000000)164  ; GCN-NEXT: {{  $}}165  ; GCN-NEXT:   S_CMP_EQ_I32 [[S_AND_B32_]], 1, implicit-def $scc166  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc167  ; GCN-NEXT:   S_BRANCH %bb.1168  ; GCN-NEXT: {{  $}}169  ; GCN-NEXT: bb.2:170  ; GCN-NEXT:   successors: %bb.3(0x80000000)171  ; GCN-NEXT: {{  $}}172  ; GCN-NEXT: bb.3:173  ; GCN-NEXT:   S_ENDPGM 0174  bb.0:175    liveins: $sgpr0, $vgpr0_vgpr1176    successors: %bb.1(0x80000000)177 178    %0:sreg_32 = COPY $sgpr0179    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc180 181  bb.1:182    successors: %bb.2(0x40000000), %bb.1(0x40000000)183 184    S_CMP_EQ_I32 %1:sreg_32, 1, implicit-def $scc185    S_CBRANCH_SCC0 %bb.2, implicit $scc186    S_BRANCH %bb.1187 188  bb.2:189    successors: %bb.3(0x80000000)190 191  bb.3:192    S_ENDPGM 0193 194...195 196---197name:            and_3_cmp_eq_1198body:             |199  ; GCN-LABEL: name: and_3_cmp_eq_1200  ; GCN: bb.0:201  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)202  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1203  ; GCN-NEXT: {{  $}}204  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0205  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 3, killed [[COPY]], implicit-def dead $scc206  ; GCN-NEXT:   S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc207  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc208  ; GCN-NEXT:   S_BRANCH %bb.1209  ; GCN-NEXT: {{  $}}210  ; GCN-NEXT: bb.1:211  ; GCN-NEXT:   successors: %bb.2(0x80000000)212  ; GCN-NEXT: {{  $}}213  ; GCN-NEXT: bb.2:214  ; GCN-NEXT:   S_ENDPGM 0215  bb.0:216    successors: %bb.1(0x40000000), %bb.2(0x40000000)217    liveins: $sgpr0, $vgpr0_vgpr1218 219    %0:sreg_32 = COPY $sgpr0220    %1:sreg_32 = S_AND_B32 3, killed %0, implicit-def dead $scc221    S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc222    S_CBRANCH_SCC0 %bb.2, implicit $scc223    S_BRANCH %bb.1224 225  bb.1:226    successors: %bb.2(0x80000000)227 228  bb.2:229    S_ENDPGM 0230 231...232 233---234name:            commuted_and_1_cmp_eq_1235body:             |236  ; GCN-LABEL: name: commuted_and_1_cmp_eq_1237  ; GCN: bb.0:238  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)239  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1240  ; GCN-NEXT: {{  $}}241  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0242  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc243  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc244  ; GCN-NEXT:   S_BRANCH %bb.1245  ; GCN-NEXT: {{  $}}246  ; GCN-NEXT: bb.1:247  ; GCN-NEXT:   successors: %bb.2(0x80000000)248  ; GCN-NEXT: {{  $}}249  ; GCN-NEXT: bb.2:250  ; GCN-NEXT:   S_ENDPGM 0251  bb.0:252    successors: %bb.1(0x40000000), %bb.2(0x40000000)253    liveins: $sgpr0, $vgpr0_vgpr1254 255    %0:sreg_32 = COPY $sgpr0256    %1:sreg_32 = S_AND_B32 killed %0, 1, implicit-def dead $scc257    S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc258    S_CBRANCH_SCC0 %bb.2, implicit $scc259    S_BRANCH %bb.1260 261  bb.1:262    successors: %bb.2(0x80000000)263 264  bb.2:265    S_ENDPGM 0266 267...268 269---270name:            cmp_eq_1_undef_src271body:             |272  ; GCN-LABEL: name: cmp_eq_1_undef_src273  ; GCN: bb.0:274  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)275  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1276  ; GCN-NEXT: {{  $}}277  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0278  ; GCN-NEXT:   S_CMP_EQ_U32 undef %1:sreg_32, 1, implicit-def $scc279  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc280  ; GCN-NEXT:   S_BRANCH %bb.1281  ; GCN-NEXT: {{  $}}282  ; GCN-NEXT: bb.1:283  ; GCN-NEXT:   successors: %bb.2(0x80000000)284  ; GCN-NEXT: {{  $}}285  ; GCN-NEXT: bb.2:286  ; GCN-NEXT:   S_ENDPGM 0287  bb.0:288    successors: %bb.1(0x40000000), %bb.2(0x40000000)289    liveins: $sgpr0, $vgpr0_vgpr1290 291    %0:sreg_32 = COPY $sgpr0292    S_CMP_EQ_U32 undef %1:sreg_32, 1, implicit-def $scc293    S_CBRANCH_SCC0 %bb.2, implicit $scc294    S_BRANCH %bb.1295 296  bb.1:297    successors: %bb.2(0x80000000)298 299  bb.2:300    S_ENDPGM 0301 302...303 304---305name:            and_1_cmp_subreg0_eq_1306body:             |307  ; GCN-LABEL: name: and_1_cmp_subreg0_eq_1308  ; GCN: bb.0:309  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)310  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1311  ; GCN-NEXT: {{  $}}312  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0313  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc314  ; GCN-NEXT:   [[REG_SEQUENCE:%[0-9]+]]:sreg_64 = REG_SEQUENCE [[S_AND_B32_]], %subreg.sub0, [[S_AND_B32_]], %subreg.sub1315  ; GCN-NEXT:   S_CMP_EQ_U32 killed [[REG_SEQUENCE]].sub0, 1, implicit-def $scc316  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc317  ; GCN-NEXT:   S_BRANCH %bb.1318  ; GCN-NEXT: {{  $}}319  ; GCN-NEXT: bb.1:320  ; GCN-NEXT:   successors: %bb.2(0x80000000)321  ; GCN-NEXT: {{  $}}322  ; GCN-NEXT: bb.2:323  ; GCN-NEXT:   S_ENDPGM 0324  bb.0:325    successors: %bb.1(0x40000000), %bb.2(0x40000000)326    liveins: $sgpr0, $vgpr0_vgpr1327 328    %0:sreg_32 = COPY $sgpr0329    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc330    %2:sreg_64 = REG_SEQUENCE %1, %subreg.sub0, %1, %subreg.sub1331    S_CMP_EQ_U32 killed %2.sub0:sreg_64, 1, implicit-def $scc332    S_CBRANCH_SCC0 %bb.2, implicit $scc333    S_BRANCH %bb.1334 335  bb.1:336    successors: %bb.2(0x80000000)337 338  bb.2:339    S_ENDPGM 0340 341...342 343---344name:            and_reg_cmp_eq_1345body:             |346  ; GCN-LABEL: name: and_reg_cmp_eq_1347  ; GCN: bb.0:348  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)349  ; GCN-NEXT:   liveins: $sgpr0, $sgpr1, $vgpr0_vgpr1350  ; GCN-NEXT: {{  $}}351  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0352  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1353  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 killed [[COPY]], killed [[COPY1]], implicit-def dead $scc354  ; GCN-NEXT:   S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc355  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc356  ; GCN-NEXT:   S_BRANCH %bb.1357  ; GCN-NEXT: {{  $}}358  ; GCN-NEXT: bb.1:359  ; GCN-NEXT:   successors: %bb.2(0x80000000)360  ; GCN-NEXT: {{  $}}361  ; GCN-NEXT: bb.2:362  ; GCN-NEXT:   S_ENDPGM 0363  bb.0:364    successors: %bb.1(0x40000000), %bb.2(0x40000000)365    liveins: $sgpr0, $sgpr1, $vgpr0_vgpr1366 367    %0:sreg_32 = COPY $sgpr0368    %1:sreg_32 = COPY $sgpr1369    %2:sreg_32 = S_AND_B32 killed %0, killed %1, implicit-def dead $scc370    S_CMP_EQ_U32 killed %2:sreg_32, 1, implicit-def $scc371    S_CBRANCH_SCC0 %bb.2, implicit $scc372    S_BRANCH %bb.1373 374  bb.1:375    successors: %bb.2(0x80000000)376 377  bb.2:378    S_ENDPGM 0379 380...381 382---383name:            and_1_cmp_eq_1_killed_scc384body:             |385  ; GCN-LABEL: name: and_1_cmp_eq_1_killed_scc386  ; GCN: bb.0:387  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)388  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1389  ; GCN-NEXT: {{  $}}390  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0391  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc392  ; GCN-NEXT:   S_NOP 0, implicit $scc393  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc394  ; GCN-NEXT:   S_BRANCH %bb.1395  ; GCN-NEXT: {{  $}}396  ; GCN-NEXT: bb.1:397  ; GCN-NEXT:   successors: %bb.2(0x80000000)398  ; GCN-NEXT: {{  $}}399  ; GCN-NEXT: bb.2:400  ; GCN-NEXT:   S_ENDPGM 0401  bb.0:402    successors: %bb.1(0x40000000), %bb.2(0x40000000)403    liveins: $sgpr0, $vgpr0_vgpr1404 405    %0:sreg_32 = COPY $sgpr0406    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def $scc407    S_NOP 0, implicit killed $scc408    S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc409    S_CBRANCH_SCC0 %bb.2, implicit $scc410    S_BRANCH %bb.1411 412  bb.1:413    successors: %bb.2(0x80000000)414 415  bb.2:416    S_ENDPGM 0417 418...419---420name:            xor_1_cmp_lg_0_killed_scc421body:             |422  ; GCN-LABEL: name: xor_1_cmp_lg_0_killed_scc423  ; GCN: bb.0:424  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)425  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1426  ; GCN-NEXT: {{  $}}427  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0428  ; GCN-NEXT:   [[S_XOR_B32_:%[0-9]+]]:sreg_32 = S_XOR_B32 1, killed [[COPY]], implicit-def $scc429  ; GCN-NEXT:   S_NOP 0, implicit $scc430  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc431  ; GCN-NEXT:   S_BRANCH %bb.1432  ; GCN-NEXT: {{  $}}433  ; GCN-NEXT: bb.1:434  ; GCN-NEXT:   successors: %bb.2(0x80000000)435  ; GCN-NEXT: {{  $}}436  ; GCN-NEXT: bb.2:437  ; GCN-NEXT:   S_ENDPGM 0438  bb.0:439    successors: %bb.1(0x40000000), %bb.2(0x40000000)440    liveins: $sgpr0, $vgpr0_vgpr1441 442    %0:sreg_32 = COPY $sgpr0443    %1:sreg_32 = S_XOR_B32 1, killed %0, implicit-def $scc444    S_NOP 0, implicit killed $scc445    S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc446    S_CBRANCH_SCC0 %bb.2, implicit $scc447    S_BRANCH %bb.1448 449  bb.1:450    successors: %bb.2(0x80000000)451 452  bb.2:453    S_ENDPGM 0454 455...456---457name:            absdiff_1_cmp_lg_0_killed_scc458body:             |459  ; GCN-LABEL: name: absdiff_1_cmp_lg_0_killed_scc460  ; GCN: bb.0:461  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)462  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1463  ; GCN-NEXT: {{  $}}464  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0465  ; GCN-NEXT:   [[S_ABSDIFF_I32_:%[0-9]+]]:sreg_32 = S_ABSDIFF_I32 1, killed [[COPY]], implicit-def $scc466  ; GCN-NEXT:   S_NOP 0, implicit $scc467  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc468  ; GCN-NEXT:   S_BRANCH %bb.1469  ; GCN-NEXT: {{  $}}470  ; GCN-NEXT: bb.1:471  ; GCN-NEXT:   successors: %bb.2(0x80000000)472  ; GCN-NEXT: {{  $}}473  ; GCN-NEXT: bb.2:474  ; GCN-NEXT:   S_ENDPGM 0475  bb.0:476    successors: %bb.1(0x40000000), %bb.2(0x40000000)477    liveins: $sgpr0, $vgpr0_vgpr1478 479    %0:sreg_32 = COPY $sgpr0480    %1:sreg_32 = S_ABSDIFF_I32 1, killed %0, implicit-def $scc481    S_NOP 0, implicit killed $scc482    S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc483    S_CBRANCH_SCC0 %bb.2, implicit $scc484    S_BRANCH %bb.1485 486  bb.1:487    successors: %bb.2(0x80000000)488 489  bb.2:490    S_ENDPGM 0491 492...493 494---495name:            and_1_cmp_eq_1_clobbered_scc496body:             |497  ; GCN-LABEL: name: and_1_cmp_eq_1_clobbered_scc498  ; GCN: bb.0:499  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)500  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1501  ; GCN-NEXT: {{  $}}502  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0503  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def $scc504  ; GCN-NEXT:   S_NOP 0, implicit-def $scc505  ; GCN-NEXT:   S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc506  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc507  ; GCN-NEXT:   S_BRANCH %bb.1508  ; GCN-NEXT: {{  $}}509  ; GCN-NEXT: bb.1:510  ; GCN-NEXT:   successors: %bb.2(0x80000000)511  ; GCN-NEXT: {{  $}}512  ; GCN-NEXT: bb.2:513  ; GCN-NEXT:   S_ENDPGM 0514  bb.0:515    successors: %bb.1(0x40000000), %bb.2(0x40000000)516    liveins: $sgpr0, $vgpr0_vgpr1517 518    %0:sreg_32 = COPY $sgpr0519    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def $scc520    S_NOP 0, implicit-def $scc521    S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc522    S_CBRANCH_SCC0 %bb.2, implicit $scc523    S_BRANCH %bb.1524 525  bb.1:526    successors: %bb.2(0x80000000)527 528  bb.2:529    S_ENDPGM 0530 531...532 533---534name:            and_1_cmp_eq_2535body:             |536  ; GCN-LABEL: name: and_1_cmp_eq_2537  ; GCN: bb.0:538  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)539  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1540  ; GCN-NEXT: {{  $}}541  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0542  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc543  ; GCN-NEXT:   S_CMP_EQ_U32 killed [[S_AND_B32_]], 2, implicit-def $scc544  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc545  ; GCN-NEXT:   S_BRANCH %bb.1546  ; GCN-NEXT: {{  $}}547  ; GCN-NEXT: bb.1:548  ; GCN-NEXT:   successors: %bb.2(0x80000000)549  ; GCN-NEXT: {{  $}}550  ; GCN-NEXT: bb.2:551  ; GCN-NEXT:   S_ENDPGM 0552  bb.0:553    successors: %bb.1(0x40000000), %bb.2(0x40000000)554    liveins: $sgpr0, $vgpr0_vgpr1555 556    %0:sreg_32 = COPY $sgpr0557    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc558    S_CMP_EQ_U32 killed %1:sreg_32, 2, implicit-def $scc559    S_CBRANCH_SCC0 %bb.2, implicit $scc560    S_BRANCH %bb.1561 562  bb.1:563    successors: %bb.2(0x80000000)564 565  bb.2:566    S_ENDPGM 0567 568...569 570---571name:            or_1_cmp_eq_u32_1572body:             |573  ; GCN-LABEL: name: or_1_cmp_eq_u32_1574  ; GCN: bb.0:575  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)576  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1577  ; GCN-NEXT: {{  $}}578  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0579  ; GCN-NEXT:   [[S_OR_B32_:%[0-9]+]]:sreg_32 = S_OR_B32 1, killed [[COPY]], implicit-def dead $scc580  ; GCN-NEXT:   S_CMP_EQ_U32 killed [[S_OR_B32_]], 1, implicit-def $scc581  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc582  ; GCN-NEXT:   S_BRANCH %bb.1583  ; GCN-NEXT: {{  $}}584  ; GCN-NEXT: bb.1:585  ; GCN-NEXT:   successors: %bb.2(0x80000000)586  ; GCN-NEXT: {{  $}}587  ; GCN-NEXT: bb.2:588  ; GCN-NEXT:   S_ENDPGM 0589  bb.0:590    successors: %bb.1(0x40000000), %bb.2(0x40000000)591    liveins: $sgpr0, $vgpr0_vgpr1592 593    %0:sreg_32 = COPY $sgpr0594    %1:sreg_32 = S_OR_B32 1, killed %0, implicit-def dead $scc595    S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc596    S_CBRANCH_SCC0 %bb.2, implicit $scc597    S_BRANCH %bb.1598 599  bb.1:600    successors: %bb.2(0x80000000)601 602  bb.2:603    S_ENDPGM 0604 605...606 607---608name:            and_1_cmp_ge_u32_1609body:             |610  ; GCN-LABEL: name: and_1_cmp_ge_u32_1611  ; GCN: bb.0:612  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)613  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1614  ; GCN-NEXT: {{  $}}615  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0616  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc617  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc618  ; GCN-NEXT:   S_BRANCH %bb.1619  ; GCN-NEXT: {{  $}}620  ; GCN-NEXT: bb.1:621  ; GCN-NEXT:   successors: %bb.2(0x80000000)622  ; GCN-NEXT: {{  $}}623  ; GCN-NEXT: bb.2:624  ; GCN-NEXT:   S_ENDPGM 0625  bb.0:626    successors: %bb.1(0x40000000), %bb.2(0x40000000)627    liveins: $sgpr0, $vgpr0_vgpr1628 629    %0:sreg_32 = COPY $sgpr0630    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc631    S_CMP_GE_U32 killed %1:sreg_32, 1, implicit-def $scc632    S_CBRANCH_SCC0 %bb.2, implicit $scc633    S_BRANCH %bb.1634 635  bb.1:636    successors: %bb.2(0x80000000)637 638  bb.2:639    S_ENDPGM 0640 641...642 643---644name:            and_1_cmp_ge_i32_1645body:             |646  ; GCN-LABEL: name: and_1_cmp_ge_i32_1647  ; GCN: bb.0:648  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)649  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1650  ; GCN-NEXT: {{  $}}651  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0652  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc653  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc654  ; GCN-NEXT:   S_BRANCH %bb.1655  ; GCN-NEXT: {{  $}}656  ; GCN-NEXT: bb.1:657  ; GCN-NEXT:   successors: %bb.2(0x80000000)658  ; GCN-NEXT: {{  $}}659  ; GCN-NEXT: bb.2:660  ; GCN-NEXT:   S_ENDPGM 0661  bb.0:662    successors: %bb.1(0x40000000), %bb.2(0x40000000)663    liveins: $sgpr0, $vgpr0_vgpr1664 665    %0:sreg_32 = COPY $sgpr0666    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc667    S_CMP_GE_I32 killed %1:sreg_32, 1, implicit-def $scc668    S_CBRANCH_SCC0 %bb.2, implicit $scc669    S_BRANCH %bb.1670 671  bb.1:672    successors: %bb.2(0x80000000)673 674  bb.2:675    S_ENDPGM 0676 677...678 679---680name:            and_1_cmp_gt_u32_0681body:             |682  ; GCN-LABEL: name: and_1_cmp_gt_u32_0683  ; GCN: bb.0:684  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)685  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1686  ; GCN-NEXT: {{  $}}687  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0688  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc689  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc690  ; GCN-NEXT:   S_BRANCH %bb.1691  ; GCN-NEXT: {{  $}}692  ; GCN-NEXT: bb.1:693  ; GCN-NEXT:   successors: %bb.2(0x80000000)694  ; GCN-NEXT: {{  $}}695  ; GCN-NEXT: bb.2:696  ; GCN-NEXT:   S_ENDPGM 0697  bb.0:698    successors: %bb.1(0x40000000), %bb.2(0x40000000)699    liveins: $sgpr0, $vgpr0_vgpr1700 701    %0:sreg_32 = COPY $sgpr0702    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc703    S_CMP_GT_U32 killed %1:sreg_32, 0, implicit-def $scc704    S_CBRANCH_SCC0 %bb.2, implicit $scc705    S_BRANCH %bb.1706 707  bb.1:708    successors: %bb.2(0x80000000)709 710  bb.2:711    S_ENDPGM 0712 713...714 715---716name:            and_1_cmp_gt_i32_0717body:             |718  ; GCN-LABEL: name: and_1_cmp_gt_i32_0719  ; GCN: bb.0:720  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)721  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1722  ; GCN-NEXT: {{  $}}723  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0724  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc725  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc726  ; GCN-NEXT:   S_BRANCH %bb.1727  ; GCN-NEXT: {{  $}}728  ; GCN-NEXT: bb.1:729  ; GCN-NEXT:   successors: %bb.2(0x80000000)730  ; GCN-NEXT: {{  $}}731  ; GCN-NEXT: bb.2:732  ; GCN-NEXT:   S_ENDPGM 0733  bb.0:734    successors: %bb.1(0x40000000), %bb.2(0x40000000)735    liveins: $sgpr0, $vgpr0_vgpr1736 737    %0:sreg_32 = COPY $sgpr0738    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc739    S_CMP_GT_U32 killed %1:sreg_32, 0, implicit-def $scc740    S_CBRANCH_SCC0 %bb.2, implicit $scc741    S_BRANCH %bb.1742 743  bb.1:744    successors: %bb.2(0x80000000)745 746  bb.2:747    S_ENDPGM 0748 749...750 751---752name:            and_1_cmp_gt_1753body:             |754  ; GCN-LABEL: name: and_1_cmp_gt_1755  ; GCN: bb.0:756  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)757  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1758  ; GCN-NEXT: {{  $}}759  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0760  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc761  ; GCN-NEXT:   S_CMP_GT_U32 killed [[S_AND_B32_]], 1, implicit-def $scc762  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc763  ; GCN-NEXT:   S_BRANCH %bb.1764  ; GCN-NEXT: {{  $}}765  ; GCN-NEXT: bb.1:766  ; GCN-NEXT:   successors: %bb.2(0x80000000)767  ; GCN-NEXT: {{  $}}768  ; GCN-NEXT: bb.2:769  ; GCN-NEXT:   S_ENDPGM 0770  bb.0:771    successors: %bb.1(0x40000000), %bb.2(0x40000000)772    liveins: $sgpr0, $vgpr0_vgpr1773 774    %0:sreg_32 = COPY $sgpr0775    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc776    S_CMP_GT_U32 killed %1:sreg_32, 1, implicit-def $scc777    S_CBRANCH_SCC0 %bb.2, implicit $scc778    S_BRANCH %bb.1779 780  bb.1:781    successors: %bb.2(0x80000000)782 783  bb.2:784    S_ENDPGM 0785 786...787 788---789name:            and_1_cmp_lg_u32_0790body:             |791  ; GCN-LABEL: name: and_1_cmp_lg_u32_0792  ; GCN: bb.0:793  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)794  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1795  ; GCN-NEXT: {{  $}}796  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0797  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc798  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc799  ; GCN-NEXT:   S_BRANCH %bb.1800  ; GCN-NEXT: {{  $}}801  ; GCN-NEXT: bb.1:802  ; GCN-NEXT:   successors: %bb.2(0x80000000)803  ; GCN-NEXT: {{  $}}804  ; GCN-NEXT: bb.2:805  ; GCN-NEXT:   S_ENDPGM 0806  bb.0:807    successors: %bb.1(0x40000000), %bb.2(0x40000000)808    liveins: $sgpr0, $vgpr0_vgpr1809 810    %0:sreg_32 = COPY $sgpr0811    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc812    S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc813    S_CBRANCH_SCC0 %bb.2, implicit $scc814    S_BRANCH %bb.1815 816  bb.1:817    successors: %bb.2(0x80000000)818 819  bb.2:820    S_ENDPGM 0821 822...823 824---825name:            and_1_cmp_lg_i32_0826body:             |827  ; GCN-LABEL: name: and_1_cmp_lg_i32_0828  ; GCN: bb.0:829  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)830  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1831  ; GCN-NEXT: {{  $}}832  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0833  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc834  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc835  ; GCN-NEXT:   S_BRANCH %bb.1836  ; GCN-NEXT: {{  $}}837  ; GCN-NEXT: bb.1:838  ; GCN-NEXT:   successors: %bb.2(0x80000000)839  ; GCN-NEXT: {{  $}}840  ; GCN-NEXT: bb.2:841  ; GCN-NEXT:   S_ENDPGM 0842  bb.0:843    successors: %bb.1(0x40000000), %bb.2(0x40000000)844    liveins: $sgpr0, $vgpr0_vgpr1845 846    %0:sreg_32 = COPY $sgpr0847    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc848    S_CMP_LG_I32 killed %1:sreg_32, 0, implicit-def $scc849    S_CBRANCH_SCC0 %bb.2, implicit $scc850    S_BRANCH %bb.1851 852  bb.1:853    successors: %bb.2(0x80000000)854 855  bb.2:856    S_ENDPGM 0857 858...859 860---861name:            and_1_cmp_eq_u64_1862body:             |863  ; GCN-LABEL: name: and_1_cmp_eq_u64_1864  ; GCN: bb.0:865  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)866  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr1867  ; GCN-NEXT: {{  $}}868  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1869  ; GCN-NEXT:   S_BITCMP1_B64 killed [[COPY]], 0, implicit-def $scc870  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc871  ; GCN-NEXT:   S_BRANCH %bb.1872  ; GCN-NEXT: {{  $}}873  ; GCN-NEXT: bb.1:874  ; GCN-NEXT:   successors: %bb.2(0x80000000)875  ; GCN-NEXT: {{  $}}876  ; GCN-NEXT: bb.2:877  ; GCN-NEXT:   S_ENDPGM 0878  bb.0:879    successors: %bb.1(0x40000000), %bb.2(0x40000000)880    liveins: $sgpr0_sgpr1, $vgpr0_vgpr1881 882    %0:sreg_64 = COPY $sgpr0_sgpr1883    %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc884    S_CMP_EQ_U64 killed %1:sreg_64, 1, implicit-def $scc885    S_CBRANCH_SCC0 %bb.2, implicit $scc886    S_BRANCH %bb.1887 888  bb.1:889    successors: %bb.2(0x80000000)890 891  bb.2:892    S_ENDPGM 0893 894...895 896---897name:            and_1_cmp_lg_u64_0898body:             |899  ; GCN-LABEL: name: and_1_cmp_lg_u64_0900  ; GCN: bb.0:901  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)902  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr1903  ; GCN-NEXT: {{  $}}904  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1905  ; GCN-NEXT:   S_BITCMP1_B64 killed [[COPY]], 0, implicit-def $scc906  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc907  ; GCN-NEXT:   S_BRANCH %bb.1908  ; GCN-NEXT: {{  $}}909  ; GCN-NEXT: bb.1:910  ; GCN-NEXT:   successors: %bb.2(0x80000000)911  ; GCN-NEXT: {{  $}}912  ; GCN-NEXT: bb.2:913  ; GCN-NEXT:   S_ENDPGM 0914  bb.0:915    successors: %bb.1(0x40000000), %bb.2(0x40000000)916    liveins: $sgpr0_sgpr1, $vgpr0_vgpr1917 918    %0:sreg_64 = COPY $sgpr0_sgpr1919    %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc920    S_CMP_LG_U64 killed %1:sreg_64, 0, implicit-def $scc921    S_CBRANCH_SCC0 %bb.2, implicit $scc922    S_BRANCH %bb.1923 924  bb.1:925    successors: %bb.2(0x80000000)926 927  bb.2:928    S_ENDPGM 0929 930...931 932---933name:            and_1_cmpk_eq_u32_1934body:             |935  ; GCN-LABEL: name: and_1_cmpk_eq_u32_1936  ; GCN: bb.0:937  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)938  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1939  ; GCN-NEXT: {{  $}}940  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0941  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc942  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc943  ; GCN-NEXT:   S_BRANCH %bb.1944  ; GCN-NEXT: {{  $}}945  ; GCN-NEXT: bb.1:946  ; GCN-NEXT:   successors: %bb.2(0x80000000)947  ; GCN-NEXT: {{  $}}948  ; GCN-NEXT: bb.2:949  ; GCN-NEXT:   S_ENDPGM 0950  bb.0:951    successors: %bb.1(0x40000000), %bb.2(0x40000000)952    liveins: $sgpr0, $vgpr0_vgpr1953 954    %0:sreg_32 = COPY $sgpr0955    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc956    S_CMPK_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc957    S_CBRANCH_SCC0 %bb.2, implicit $scc958    S_BRANCH %bb.1959 960  bb.1:961    successors: %bb.2(0x80000000)962 963  bb.2:964    S_ENDPGM 0965 966...967 968---969name:            and_1_cmpk_eq_i32_1970body:             |971  ; GCN-LABEL: name: and_1_cmpk_eq_i32_1972  ; GCN: bb.0:973  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)974  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr1975  ; GCN-NEXT: {{  $}}976  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0977  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc978  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc979  ; GCN-NEXT:   S_BRANCH %bb.1980  ; GCN-NEXT: {{  $}}981  ; GCN-NEXT: bb.1:982  ; GCN-NEXT:   successors: %bb.2(0x80000000)983  ; GCN-NEXT: {{  $}}984  ; GCN-NEXT: bb.2:985  ; GCN-NEXT:   S_ENDPGM 0986  bb.0:987    successors: %bb.1(0x40000000), %bb.2(0x40000000)988    liveins: $sgpr0, $vgpr0_vgpr1989 990    %0:sreg_32 = COPY $sgpr0991    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc992    S_CMPK_EQ_I32 killed %1:sreg_32, 1, implicit-def $scc993    S_CBRANCH_SCC0 %bb.2, implicit $scc994    S_BRANCH %bb.1995 996  bb.1:997    successors: %bb.2(0x80000000)998 999  bb.2:1000    S_ENDPGM 01001 1002...1003 1004---1005name:            and_1_cmpk_ge_u32_11006body:             |1007  ; GCN-LABEL: name: and_1_cmpk_ge_u32_11008  ; GCN: bb.0:1009  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1010  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11011  ; GCN-NEXT: {{  $}}1012  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01013  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc1014  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1015  ; GCN-NEXT:   S_BRANCH %bb.11016  ; GCN-NEXT: {{  $}}1017  ; GCN-NEXT: bb.1:1018  ; GCN-NEXT:   successors: %bb.2(0x80000000)1019  ; GCN-NEXT: {{  $}}1020  ; GCN-NEXT: bb.2:1021  ; GCN-NEXT:   S_ENDPGM 01022  bb.0:1023    successors: %bb.1(0x40000000), %bb.2(0x40000000)1024    liveins: $sgpr0, $vgpr0_vgpr11025 1026    %0:sreg_32 = COPY $sgpr01027    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1028    S_CMPK_GE_U32 killed %1:sreg_32, 1, implicit-def $scc1029    S_CBRANCH_SCC0 %bb.2, implicit $scc1030    S_BRANCH %bb.11031 1032  bb.1:1033    successors: %bb.2(0x80000000)1034 1035  bb.2:1036    S_ENDPGM 01037 1038...1039 1040---1041name:            and_1_cmpk_ge_i32_11042body:             |1043  ; GCN-LABEL: name: and_1_cmpk_ge_i32_11044  ; GCN: bb.0:1045  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1046  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11047  ; GCN-NEXT: {{  $}}1048  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01049  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc1050  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1051  ; GCN-NEXT:   S_BRANCH %bb.11052  ; GCN-NEXT: {{  $}}1053  ; GCN-NEXT: bb.1:1054  ; GCN-NEXT:   successors: %bb.2(0x80000000)1055  ; GCN-NEXT: {{  $}}1056  ; GCN-NEXT: bb.2:1057  ; GCN-NEXT:   S_ENDPGM 01058  bb.0:1059    successors: %bb.1(0x40000000), %bb.2(0x40000000)1060    liveins: $sgpr0, $vgpr0_vgpr11061 1062    %0:sreg_32 = COPY $sgpr01063    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1064    S_CMPK_GE_I32 killed %1:sreg_32, 1, implicit-def $scc1065    S_CBRANCH_SCC0 %bb.2, implicit $scc1066    S_BRANCH %bb.11067 1068  bb.1:1069    successors: %bb.2(0x80000000)1070 1071  bb.2:1072    S_ENDPGM 01073 1074...1075 1076---1077name:            and_1_cmpk_lg_u32_01078body:             |1079  ; GCN-LABEL: name: and_1_cmpk_lg_u32_01080  ; GCN: bb.0:1081  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1082  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11083  ; GCN-NEXT: {{  $}}1084  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01085  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc1086  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1087  ; GCN-NEXT:   S_BRANCH %bb.11088  ; GCN-NEXT: {{  $}}1089  ; GCN-NEXT: bb.1:1090  ; GCN-NEXT:   successors: %bb.2(0x80000000)1091  ; GCN-NEXT: {{  $}}1092  ; GCN-NEXT: bb.2:1093  ; GCN-NEXT:   S_ENDPGM 01094  bb.0:1095    successors: %bb.1(0x40000000), %bb.2(0x40000000)1096    liveins: $sgpr0, $vgpr0_vgpr11097 1098    %0:sreg_32 = COPY $sgpr01099    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1100    S_CMPK_LG_U32 killed %1:sreg_32, 0, implicit-def $scc1101    S_CBRANCH_SCC0 %bb.2, implicit $scc1102    S_BRANCH %bb.11103 1104  bb.1:1105    successors: %bb.2(0x80000000)1106 1107  bb.2:1108    S_ENDPGM 01109 1110...1111 1112---1113name:            and_1_cmpk_lg_i32_01114body:             |1115  ; GCN-LABEL: name: and_1_cmpk_lg_i32_01116  ; GCN: bb.0:1117  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1118  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11119  ; GCN-NEXT: {{  $}}1120  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01121  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc1122  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1123  ; GCN-NEXT:   S_BRANCH %bb.11124  ; GCN-NEXT: {{  $}}1125  ; GCN-NEXT: bb.1:1126  ; GCN-NEXT:   successors: %bb.2(0x80000000)1127  ; GCN-NEXT: {{  $}}1128  ; GCN-NEXT: bb.2:1129  ; GCN-NEXT:   S_ENDPGM 01130  bb.0:1131    successors: %bb.1(0x40000000), %bb.2(0x40000000)1132    liveins: $sgpr0, $vgpr0_vgpr11133 1134    %0:sreg_32 = COPY $sgpr01135    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1136    S_CMPK_LG_I32 killed %1:sreg_32, 0, implicit-def $scc1137    S_CBRANCH_SCC0 %bb.2, implicit $scc1138    S_BRANCH %bb.11139 1140  bb.1:1141    successors: %bb.2(0x80000000)1142 1143  bb.2:1144    S_ENDPGM 01145 1146...1147 1148---1149name:            and_1_cmpk_gt_u32_01150body:             |1151  ; GCN-LABEL: name: and_1_cmpk_gt_u32_01152  ; GCN: bb.0:1153  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1154  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11155  ; GCN-NEXT: {{  $}}1156  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01157  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc1158  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1159  ; GCN-NEXT:   S_BRANCH %bb.11160  ; GCN-NEXT: {{  $}}1161  ; GCN-NEXT: bb.1:1162  ; GCN-NEXT:   successors: %bb.2(0x80000000)1163  ; GCN-NEXT: {{  $}}1164  ; GCN-NEXT: bb.2:1165  ; GCN-NEXT:   S_ENDPGM 01166  bb.0:1167    successors: %bb.1(0x40000000), %bb.2(0x40000000)1168    liveins: $sgpr0, $vgpr0_vgpr11169 1170    %0:sreg_32 = COPY $sgpr01171    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1172    S_CMPK_GT_U32 killed %1:sreg_32, 0, implicit-def $scc1173    S_CBRANCH_SCC0 %bb.2, implicit $scc1174    S_BRANCH %bb.11175 1176  bb.1:1177    successors: %bb.2(0x80000000)1178 1179  bb.2:1180    S_ENDPGM 01181 1182...1183 1184---1185name:            and_1_cmpk_gt_i32_01186body:             |1187  ; GCN-LABEL: name: and_1_cmpk_gt_i32_01188  ; GCN: bb.0:1189  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1190  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11191  ; GCN-NEXT: {{  $}}1192  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01193  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc1194  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1195  ; GCN-NEXT:   S_BRANCH %bb.11196  ; GCN-NEXT: {{  $}}1197  ; GCN-NEXT: bb.1:1198  ; GCN-NEXT:   successors: %bb.2(0x80000000)1199  ; GCN-NEXT: {{  $}}1200  ; GCN-NEXT: bb.2:1201  ; GCN-NEXT:   S_ENDPGM 01202  bb.0:1203    successors: %bb.1(0x40000000), %bb.2(0x40000000)1204    liveins: $sgpr0, $vgpr0_vgpr11205 1206    %0:sreg_32 = COPY $sgpr01207    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1208    S_CMPK_GT_I32 killed %1:sreg_32, 0, implicit-def $scc1209    S_CBRANCH_SCC0 %bb.2, implicit $scc1210    S_BRANCH %bb.11211 1212  bb.1:1213    successors: %bb.2(0x80000000)1214 1215  bb.2:1216    S_ENDPGM 01217 1218...1219 1220---1221name:            and_1_cmp_eq_u32_1_imm_src1222body:             |1223  ; GCN-LABEL: name: and_1_cmp_eq_u32_1_imm_src1224  ; GCN: bb.0:1225  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1226  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11227  ; GCN-NEXT: {{  $}}1228  ; GCN-NEXT:   S_BITCMP1_B32 11, 0, implicit-def $scc1229  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1230  ; GCN-NEXT:   S_BRANCH %bb.11231  ; GCN-NEXT: {{  $}}1232  ; GCN-NEXT: bb.1:1233  ; GCN-NEXT:   successors: %bb.2(0x80000000)1234  ; GCN-NEXT: {{  $}}1235  ; GCN-NEXT: bb.2:1236  ; GCN-NEXT:   S_ENDPGM 01237  bb.0:1238    successors: %bb.1(0x40000000), %bb.2(0x40000000)1239    liveins: $sgpr0, $vgpr0_vgpr11240 1241    %0:sreg_32 = S_AND_B32 1, 11, implicit-def dead $scc1242    S_CMP_EQ_U32 killed %0:sreg_32, 1, implicit-def $scc1243    S_CBRANCH_SCC0 %bb.2, implicit $scc1244    S_BRANCH %bb.11245 1246  bb.1:1247    successors: %bb.2(0x80000000)1248 1249  bb.2:1250    S_ENDPGM 01251 1252...1253 1254---1255name:            and_1_cmp_eq_u32_01256body:             |1257  ; GCN-LABEL: name: and_1_cmp_eq_u32_01258  ; GCN: bb.0:1259  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1260  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11261  ; GCN-NEXT: {{  $}}1262  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01263  ; GCN-NEXT:   S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc1264  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1265  ; GCN-NEXT:   S_BRANCH %bb.11266  ; GCN-NEXT: {{  $}}1267  ; GCN-NEXT: bb.1:1268  ; GCN-NEXT:   successors: %bb.2(0x80000000)1269  ; GCN-NEXT: {{  $}}1270  ; GCN-NEXT: bb.2:1271  ; GCN-NEXT:   S_ENDPGM 01272  bb.0:1273    successors: %bb.1(0x40000000), %bb.2(0x40000000)1274    liveins: $sgpr0, $vgpr0_vgpr11275 1276    %0:sreg_32 = COPY $sgpr01277    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1278    S_CMP_EQ_U32 killed %1:sreg_32, 0, implicit-def $scc1279    S_CBRANCH_SCC0 %bb.2, implicit $scc1280    S_BRANCH %bb.11281 1282  bb.1:1283    successors: %bb.2(0x80000000)1284 1285  bb.2:1286    S_ENDPGM 01287 1288...1289 1290---1291name:            and_1_cmp_eq_i32_01292body:             |1293  ; GCN-LABEL: name: and_1_cmp_eq_i32_01294  ; GCN: bb.0:1295  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1296  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11297  ; GCN-NEXT: {{  $}}1298  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01299  ; GCN-NEXT:   S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc1300  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1301  ; GCN-NEXT:   S_BRANCH %bb.11302  ; GCN-NEXT: {{  $}}1303  ; GCN-NEXT: bb.1:1304  ; GCN-NEXT:   successors: %bb.2(0x80000000)1305  ; GCN-NEXT: {{  $}}1306  ; GCN-NEXT: bb.2:1307  ; GCN-NEXT:   S_ENDPGM 01308  bb.0:1309    successors: %bb.1(0x40000000), %bb.2(0x40000000)1310    liveins: $sgpr0, $vgpr0_vgpr11311 1312    %0:sreg_32 = COPY $sgpr01313    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1314    S_CMP_EQ_I32 killed %1:sreg_32, 0, implicit-def $scc1315    S_CBRANCH_SCC0 %bb.2, implicit $scc1316    S_BRANCH %bb.11317 1318  bb.1:1319    successors: %bb.2(0x80000000)1320 1321  bb.2:1322    S_ENDPGM 01323 1324...1325 1326---1327name:            and_1_cmp_eq_u64_01328body:             |1329  ; GCN-LABEL: name: and_1_cmp_eq_u64_01330  ; GCN: bb.0:1331  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1332  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr11333  ; GCN-NEXT: {{  $}}1334  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr11335  ; GCN-NEXT:   S_BITCMP0_B64 killed [[COPY]], 0, implicit-def $scc1336  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1337  ; GCN-NEXT:   S_BRANCH %bb.11338  ; GCN-NEXT: {{  $}}1339  ; GCN-NEXT: bb.1:1340  ; GCN-NEXT:   successors: %bb.2(0x80000000)1341  ; GCN-NEXT: {{  $}}1342  ; GCN-NEXT: bb.2:1343  ; GCN-NEXT:   S_ENDPGM 01344  bb.0:1345    successors: %bb.1(0x40000000), %bb.2(0x40000000)1346    liveins: $sgpr0_sgpr1, $vgpr0_vgpr11347 1348    %0:sreg_64 = COPY $sgpr0_sgpr11349    %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc1350    S_CMP_EQ_U64 killed %1:sreg_64, 0, implicit-def $scc1351    S_CBRANCH_SCC0 %bb.2, implicit $scc1352    S_BRANCH %bb.11353 1354  bb.1:1355    successors: %bb.2(0x80000000)1356 1357  bb.2:1358    S_ENDPGM 01359 1360...1361 1362---1363name:            and_1_cmp_lg_u32_11364body:             |1365  ; GCN-LABEL: name: and_1_cmp_lg_u32_11366  ; GCN: bb.0:1367  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1368  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11369  ; GCN-NEXT: {{  $}}1370  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01371  ; GCN-NEXT:   S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc1372  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1373  ; GCN-NEXT:   S_BRANCH %bb.11374  ; GCN-NEXT: {{  $}}1375  ; GCN-NEXT: bb.1:1376  ; GCN-NEXT:   successors: %bb.2(0x80000000)1377  ; GCN-NEXT: {{  $}}1378  ; GCN-NEXT: bb.2:1379  ; GCN-NEXT:   S_ENDPGM 01380  bb.0:1381    successors: %bb.1(0x40000000), %bb.2(0x40000000)1382    liveins: $sgpr0, $vgpr0_vgpr11383 1384    %0:sreg_32 = COPY $sgpr01385    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1386    S_CMP_LG_U32 killed %1:sreg_32, 1, implicit-def $scc1387    S_CBRANCH_SCC0 %bb.2, implicit $scc1388    S_BRANCH %bb.11389 1390  bb.1:1391    successors: %bb.2(0x80000000)1392 1393  bb.2:1394    S_ENDPGM 01395 1396...1397 1398---1399name:            and_1_cmp_lg_i32_11400body:             |1401  ; GCN-LABEL: name: and_1_cmp_lg_i32_11402  ; GCN: bb.0:1403  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1404  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11405  ; GCN-NEXT: {{  $}}1406  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01407  ; GCN-NEXT:   S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc1408  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1409  ; GCN-NEXT:   S_BRANCH %bb.11410  ; GCN-NEXT: {{  $}}1411  ; GCN-NEXT: bb.1:1412  ; GCN-NEXT:   successors: %bb.2(0x80000000)1413  ; GCN-NEXT: {{  $}}1414  ; GCN-NEXT: bb.2:1415  ; GCN-NEXT:   S_ENDPGM 01416  bb.0:1417    successors: %bb.1(0x40000000), %bb.2(0x40000000)1418    liveins: $sgpr0, $vgpr0_vgpr11419 1420    %0:sreg_32 = COPY $sgpr01421    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1422    S_CMP_LG_I32 killed %1:sreg_32, 1, implicit-def $scc1423    S_CBRANCH_SCC0 %bb.2, implicit $scc1424    S_BRANCH %bb.11425 1426  bb.1:1427    successors: %bb.2(0x80000000)1428 1429  bb.2:1430    S_ENDPGM 01431 1432...1433 1434---1435name:            and_1_cmp_lg_u64_11436body:             |1437  ; GCN-LABEL: name: and_1_cmp_lg_u64_11438  ; GCN: bb.0:1439  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1440  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr11441  ; GCN-NEXT: {{  $}}1442  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr11443  ; GCN-NEXT:   S_BITCMP0_B64 killed [[COPY]], 0, implicit-def $scc1444  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1445  ; GCN-NEXT:   S_BRANCH %bb.11446  ; GCN-NEXT: {{  $}}1447  ; GCN-NEXT: bb.1:1448  ; GCN-NEXT:   successors: %bb.2(0x80000000)1449  ; GCN-NEXT: {{  $}}1450  ; GCN-NEXT: bb.2:1451  ; GCN-NEXT:   S_ENDPGM 01452  bb.0:1453    successors: %bb.1(0x40000000), %bb.2(0x40000000)1454    liveins: $sgpr0_sgpr1, $vgpr0_vgpr11455 1456    %0:sreg_64 = COPY $sgpr0_sgpr11457    %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc1458    S_CMP_LG_U64 killed %1:sreg_64, 1, implicit-def $scc1459    S_CBRANCH_SCC0 %bb.2, implicit $scc1460    S_BRANCH %bb.11461 1462  bb.1:1463    successors: %bb.2(0x80000000)1464 1465  bb.2:1466    S_ENDPGM 01467 1468...1469 1470---1471name:            and_1_cmp_eq_u32_0_used_and1472body:             |1473  ; GCN-LABEL: name: and_1_cmp_eq_u32_0_used_and1474  ; GCN: bb.0:1475  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1476  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11477  ; GCN-NEXT: {{  $}}1478  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01479  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc1480  ; GCN-NEXT:   S_CMP_EQ_U32 [[S_AND_B32_]], 0, implicit-def $scc1481  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1482  ; GCN-NEXT:   S_BRANCH %bb.11483  ; GCN-NEXT: {{  $}}1484  ; GCN-NEXT: bb.1:1485  ; GCN-NEXT:   successors: %bb.2(0x80000000)1486  ; GCN-NEXT: {{  $}}1487  ; GCN-NEXT:   S_NOP 0, implicit [[S_AND_B32_]]1488  ; GCN-NEXT: {{  $}}1489  ; GCN-NEXT: bb.2:1490  ; GCN-NEXT:   S_ENDPGM 01491  bb.0:1492    successors: %bb.1(0x40000000), %bb.2(0x40000000)1493    liveins: $sgpr0, $vgpr0_vgpr11494 1495    %0:sreg_32 = COPY $sgpr01496    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1497    S_CMP_EQ_U32 %1:sreg_32, 0, implicit-def $scc1498    S_CBRANCH_SCC0 %bb.2, implicit $scc1499    S_BRANCH %bb.11500 1501  bb.1:1502    successors: %bb.2(0x80000000)1503 1504    S_NOP 0, implicit %11505  bb.2:1506    S_ENDPGM 01507 1508...1509 1510---1511name:            and_1_cmp_ge_u32_01512body:             |1513  ; GCN-LABEL: name: and_1_cmp_ge_u32_01514  ; GCN: bb.0:1515  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1516  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11517  ; GCN-NEXT: {{  $}}1518  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01519  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc1520  ; GCN-NEXT:   S_CMP_GE_U32 killed [[S_AND_B32_]], 0, implicit-def $scc1521  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1522  ; GCN-NEXT:   S_BRANCH %bb.11523  ; GCN-NEXT: {{  $}}1524  ; GCN-NEXT: bb.1:1525  ; GCN-NEXT:   successors: %bb.2(0x80000000)1526  ; GCN-NEXT: {{  $}}1527  ; GCN-NEXT: bb.2:1528  ; GCN-NEXT:   S_ENDPGM 01529  bb.0:1530    successors: %bb.1(0x40000000), %bb.2(0x40000000)1531    liveins: $sgpr0, $vgpr0_vgpr11532 1533    %0:sreg_32 = COPY $sgpr01534    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1535    S_CMP_GE_U32 killed %1:sreg_32, 0, implicit-def $scc1536    S_CBRANCH_SCC0 %bb.2, implicit $scc1537    S_BRANCH %bb.11538 1539  bb.1:1540    successors: %bb.2(0x80000000)1541 1542  bb.2:1543    S_ENDPGM 01544 1545...1546 1547---1548name:            and_1_cmp_gt_u32_11549body:             |1550  ; GCN-LABEL: name: and_1_cmp_gt_u32_11551  ; GCN: bb.0:1552  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1553  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11554  ; GCN-NEXT: {{  $}}1555  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01556  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc1557  ; GCN-NEXT:   S_CMP_GT_U32 killed [[S_AND_B32_]], 1, implicit-def $scc1558  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1559  ; GCN-NEXT:   S_BRANCH %bb.11560  ; GCN-NEXT: {{  $}}1561  ; GCN-NEXT: bb.1:1562  ; GCN-NEXT:   successors: %bb.2(0x80000000)1563  ; GCN-NEXT: {{  $}}1564  ; GCN-NEXT: bb.2:1565  ; GCN-NEXT:   S_ENDPGM 01566  bb.0:1567    successors: %bb.1(0x40000000), %bb.2(0x40000000)1568    liveins: $sgpr0, $vgpr0_vgpr11569 1570    %0:sreg_32 = COPY $sgpr01571    %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc1572    S_CMP_GT_U32 killed %1:sreg_32, 1, implicit-def $scc1573    S_CBRANCH_SCC0 %bb.2, implicit $scc1574    S_BRANCH %bb.11575 1576  bb.1:1577    successors: %bb.2(0x80000000)1578 1579  bb.2:1580    S_ENDPGM 01581 1582...1583 1584---1585name:            and_1_folded_src0_cmp_eq_u32_1_folded_src21586body:             |1587  ; GCN-LABEL: name: and_1_folded_src0_cmp_eq_u32_1_folded_src21588  ; GCN: bb.0:1589  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1590  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11591  ; GCN-NEXT: {{  $}}1592  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01593  ; GCN-NEXT:   [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 11594  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc1595  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1596  ; GCN-NEXT:   S_BRANCH %bb.11597  ; GCN-NEXT: {{  $}}1598  ; GCN-NEXT: bb.1:1599  ; GCN-NEXT:   successors: %bb.2(0x80000000)1600  ; GCN-NEXT: {{  $}}1601  ; GCN-NEXT: bb.2:1602  ; GCN-NEXT:   S_ENDPGM 01603  bb.0:1604    successors: %bb.1(0x40000000), %bb.2(0x40000000)1605    liveins: $sgpr0, $vgpr0_vgpr11606 1607    %0:sreg_32 = COPY $sgpr01608    %1:sreg_32 = S_MOV_B32 11609    %2:sreg_32 = S_AND_B32 %1, killed %0, implicit-def dead $scc1610    S_CMP_EQ_U32 killed %2:sreg_32, %1, implicit-def $scc1611    S_CBRANCH_SCC0 %bb.2, implicit $scc1612    S_BRANCH %bb.11613 1614  bb.1:1615    successors: %bb.2(0x80000000)1616 1617  bb.2:1618    S_ENDPGM 01619 1620...1621 1622---1623name:            and_1_folded_src1_cmp_eq_u32_1_folded_src21624body:             |1625  ; GCN-LABEL: name: and_1_folded_src1_cmp_eq_u32_1_folded_src21626  ; GCN: bb.0:1627  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1628  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11629  ; GCN-NEXT: {{  $}}1630  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01631  ; GCN-NEXT:   [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 11632  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc1633  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1634  ; GCN-NEXT:   S_BRANCH %bb.11635  ; GCN-NEXT: {{  $}}1636  ; GCN-NEXT: bb.1:1637  ; GCN-NEXT:   successors: %bb.2(0x80000000)1638  ; GCN-NEXT: {{  $}}1639  ; GCN-NEXT: bb.2:1640  ; GCN-NEXT:   S_ENDPGM 01641  bb.0:1642    successors: %bb.1(0x40000000), %bb.2(0x40000000)1643    liveins: $sgpr0, $vgpr0_vgpr11644 1645    %0:sreg_32 = COPY $sgpr01646    %1:sreg_32 = S_MOV_B32 11647    %2:sreg_32 = S_AND_B32 killed %0, %1, implicit-def dead $scc1648    S_CMP_EQ_U32 killed %2:sreg_32, %1, implicit-def $scc1649    S_CBRANCH_SCC0 %bb.2, implicit $scc1650    S_BRANCH %bb.11651 1652  bb.1:1653    successors: %bb.2(0x80000000)1654 1655  bb.2:1656    S_ENDPGM 01657 1658...1659 1660---1661name:            and_1_folded_src1_cmp_eq_u64_1_folded_src21662body:             |1663  ; GCN-LABEL: name: and_1_folded_src1_cmp_eq_u64_1_folded_src21664  ; GCN: bb.0:1665  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1666  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr11667  ; GCN-NEXT: {{  $}}1668  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr11669  ; GCN-NEXT:   [[S_MOV_B64_:%[0-9]+]]:sreg_64 = S_MOV_B64 11670  ; GCN-NEXT:   S_BITCMP1_B64 killed [[COPY]], 0, implicit-def $scc1671  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1672  ; GCN-NEXT:   S_BRANCH %bb.11673  ; GCN-NEXT: {{  $}}1674  ; GCN-NEXT: bb.1:1675  ; GCN-NEXT:   successors: %bb.2(0x80000000)1676  ; GCN-NEXT: {{  $}}1677  ; GCN-NEXT: bb.2:1678  ; GCN-NEXT:   S_ENDPGM 01679  bb.0:1680    successors: %bb.1(0x40000000), %bb.2(0x40000000)1681    liveins: $sgpr0_sgpr1, $vgpr0_vgpr11682 1683    %0:sreg_64 = COPY $sgpr0_sgpr11684    %1:sreg_64 = S_MOV_B64 11685    %2:sreg_64 = S_AND_B64 killed %0, %1, implicit-def dead $scc1686    S_CMP_EQ_U64 killed %2:sreg_64, %1, implicit-def $scc1687    S_CBRANCH_SCC0 %bb.2, implicit $scc1688    S_BRANCH %bb.11689 1690  bb.1:1691    successors: %bb.2(0x80000000)1692 1693  bb.2:1694    S_ENDPGM 01695 1696...1697 1698---1699name:            and_1024_cmp_eq_u32_10241700body:             |1701  ; GCN-LABEL: name: and_1024_cmp_eq_u32_10241702  ; GCN: bb.0:1703  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1704  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11705  ; GCN-NEXT: {{  $}}1706  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01707  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 10, implicit-def $scc1708  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1709  ; GCN-NEXT:   S_BRANCH %bb.11710  ; GCN-NEXT: {{  $}}1711  ; GCN-NEXT: bb.1:1712  ; GCN-NEXT:   successors: %bb.2(0x80000000)1713  ; GCN-NEXT: {{  $}}1714  ; GCN-NEXT: bb.2:1715  ; GCN-NEXT:   S_ENDPGM 01716  bb.0:1717    successors: %bb.1(0x40000000), %bb.2(0x40000000)1718    liveins: $sgpr0, $vgpr0_vgpr11719 1720    %0:sreg_32 = COPY $sgpr01721    %1:sreg_32 = S_AND_B32 1024, killed %0, implicit-def dead $scc1722    S_CMP_EQ_U32 killed %1:sreg_32, 1024, implicit-def $scc1723    S_CBRANCH_SCC0 %bb.2, implicit $scc1724    S_BRANCH %bb.11725 1726  bb.1:1727    successors: %bb.2(0x80000000)1728 1729  bb.2:1730    S_ENDPGM 01731 1732...1733 1734---1735name:            and_0x80000000_cmp_eq_u32_0x800000001736body:             |1737  ; GCN-LABEL: name: and_0x80000000_cmp_eq_u32_0x800000001738  ; GCN: bb.0:1739  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1740  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11741  ; GCN-NEXT: {{  $}}1742  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01743  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc1744  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1745  ; GCN-NEXT:   S_BRANCH %bb.11746  ; GCN-NEXT: {{  $}}1747  ; GCN-NEXT: bb.1:1748  ; GCN-NEXT:   successors: %bb.2(0x80000000)1749  ; GCN-NEXT: {{  $}}1750  ; GCN-NEXT: bb.2:1751  ; GCN-NEXT:   S_ENDPGM 01752  bb.0:1753    successors: %bb.1(0x40000000), %bb.2(0x40000000)1754    liveins: $sgpr0, $vgpr0_vgpr11755 1756    %0:sreg_32 = COPY $sgpr01757    %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc1758    S_CMP_EQ_U32 killed %1:sreg_32, 2147483648, implicit-def $scc1759    S_CBRANCH_SCC0 %bb.2, implicit $scc1760    S_BRANCH %bb.11761 1762  bb.1:1763    successors: %bb.2(0x80000000)1764 1765  bb.2:1766    S_ENDPGM 01767 1768...1769 1770---1771name:            and_0x80000000_cmp_ge_u32_0x800000001772body:             |1773  ; GCN-LABEL: name: and_0x80000000_cmp_ge_u32_0x800000001774  ; GCN: bb.0:1775  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1776  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11777  ; GCN-NEXT: {{  $}}1778  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01779  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc1780  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1781  ; GCN-NEXT:   S_BRANCH %bb.11782  ; GCN-NEXT: {{  $}}1783  ; GCN-NEXT: bb.1:1784  ; GCN-NEXT:   successors: %bb.2(0x80000000)1785  ; GCN-NEXT: {{  $}}1786  ; GCN-NEXT: bb.2:1787  ; GCN-NEXT:   S_ENDPGM 01788  bb.0:1789    successors: %bb.1(0x40000000), %bb.2(0x40000000)1790    liveins: $sgpr0, $vgpr0_vgpr11791 1792    %0:sreg_32 = COPY $sgpr01793    %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc1794    S_CMP_GE_U32 killed %1:sreg_32, 2147483648, implicit-def $scc1795    S_CBRANCH_SCC0 %bb.2, implicit $scc1796    S_BRANCH %bb.11797 1798  bb.1:1799    successors: %bb.2(0x80000000)1800 1801  bb.2:1802    S_ENDPGM 01803 1804...1805 1806---1807name:            and_0x80000000_cmp_ge_i32_0x800000001808body:             |1809  ; GCN-LABEL: name: and_0x80000000_cmp_ge_i32_0x800000001810  ; GCN: bb.0:1811  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1812  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11813  ; GCN-NEXT: {{  $}}1814  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01815  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 2147483648, killed [[COPY]], implicit-def dead $scc1816  ; GCN-NEXT:   S_CMP_GE_I32 killed [[S_AND_B32_]], 2147483648, implicit-def $scc1817  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1818  ; GCN-NEXT:   S_BRANCH %bb.11819  ; GCN-NEXT: {{  $}}1820  ; GCN-NEXT: bb.1:1821  ; GCN-NEXT:   successors: %bb.2(0x80000000)1822  ; GCN-NEXT: {{  $}}1823  ; GCN-NEXT: bb.2:1824  ; GCN-NEXT:   S_ENDPGM 01825  bb.0:1826    successors: %bb.1(0x40000000), %bb.2(0x40000000)1827    liveins: $sgpr0, $vgpr0_vgpr11828 1829    %0:sreg_32 = COPY $sgpr01830    %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc1831    S_CMP_GE_I32 killed %1:sreg_32, 2147483648, implicit-def $scc1832    S_CBRANCH_SCC0 %bb.2, implicit $scc1833    S_BRANCH %bb.11834 1835  bb.1:1836    successors: %bb.2(0x80000000)1837 1838  bb.2:1839    S_ENDPGM 01840 1841...1842 1843---1844name:            and_1024_cmp_ge_i32_10241845body:             |1846  ; GCN-LABEL: name: and_1024_cmp_ge_i32_10241847  ; GCN: bb.0:1848  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1849  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11850  ; GCN-NEXT: {{  $}}1851  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01852  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 10, implicit-def $scc1853  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1854  ; GCN-NEXT:   S_BRANCH %bb.11855  ; GCN-NEXT: {{  $}}1856  ; GCN-NEXT: bb.1:1857  ; GCN-NEXT:   successors: %bb.2(0x80000000)1858  ; GCN-NEXT: {{  $}}1859  ; GCN-NEXT: bb.2:1860  ; GCN-NEXT:   S_ENDPGM 01861  bb.0:1862    successors: %bb.1(0x40000000), %bb.2(0x40000000)1863    liveins: $sgpr0, $vgpr0_vgpr11864 1865    %0:sreg_32 = COPY $sgpr01866    %1:sreg_32 = S_AND_B32 1024, killed %0, implicit-def dead $scc1867    S_CMP_GE_I32 killed %1:sreg_32, 1024, implicit-def $scc1868    S_CBRANCH_SCC0 %bb.2, implicit $scc1869    S_BRANCH %bb.11870 1871  bb.1:1872    successors: %bb.2(0x80000000)1873 1874  bb.2:1875    S_ENDPGM 01876 1877...1878 1879---1880name:            and_0x80000000_cmp_lg_i32_01881body:             |1882  ; GCN-LABEL: name: and_0x80000000_cmp_lg_i32_01883  ; GCN: bb.0:1884  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1885  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11886  ; GCN-NEXT: {{  $}}1887  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01888  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc1889  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1890  ; GCN-NEXT:   S_BRANCH %bb.11891  ; GCN-NEXT: {{  $}}1892  ; GCN-NEXT: bb.1:1893  ; GCN-NEXT:   successors: %bb.2(0x80000000)1894  ; GCN-NEXT: {{  $}}1895  ; GCN-NEXT: bb.2:1896  ; GCN-NEXT:   S_ENDPGM 01897  bb.0:1898    successors: %bb.1(0x40000000), %bb.2(0x40000000)1899    liveins: $sgpr0, $vgpr0_vgpr11900 1901    %0:sreg_32 = COPY $sgpr01902    %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc1903    S_CMP_LG_I32 killed %1:sreg_32, 0, implicit-def $scc1904    S_CBRANCH_SCC0 %bb.2, implicit $scc1905    S_BRANCH %bb.11906 1907  bb.1:1908    successors: %bb.2(0x80000000)1909 1910  bb.2:1911    S_ENDPGM 01912 1913...1914 1915---1916name:            and_0x80000000_cmp_gt_i32_01917body:             |1918  ; GCN-LABEL: name: and_0x80000000_cmp_gt_i32_01919  ; GCN: bb.0:1920  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1921  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11922  ; GCN-NEXT: {{  $}}1923  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01924  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 2147483648, killed [[COPY]], implicit-def dead $scc1925  ; GCN-NEXT:   S_CMP_GT_I32 killed [[S_AND_B32_]], 0, implicit-def $scc1926  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1927  ; GCN-NEXT:   S_BRANCH %bb.11928  ; GCN-NEXT: {{  $}}1929  ; GCN-NEXT: bb.1:1930  ; GCN-NEXT:   successors: %bb.2(0x80000000)1931  ; GCN-NEXT: {{  $}}1932  ; GCN-NEXT: bb.2:1933  ; GCN-NEXT:   S_ENDPGM 01934  bb.0:1935    successors: %bb.1(0x40000000), %bb.2(0x40000000)1936    liveins: $sgpr0, $vgpr0_vgpr11937 1938    %0:sreg_32 = COPY $sgpr01939    %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc1940    S_CMP_GT_I32 killed %1:sreg_32, 0, implicit-def $scc1941    S_CBRANCH_SCC0 %bb.2, implicit $scc1942    S_BRANCH %bb.11943 1944  bb.1:1945    successors: %bb.2(0x80000000)1946 1947  bb.2:1948    S_ENDPGM 01949 1950...1951 1952---1953name:            and_0x80000000_cmp_gt_u32_01954body:             |1955  ; GCN-LABEL: name: and_0x80000000_cmp_gt_u32_01956  ; GCN: bb.0:1957  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1958  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr11959  ; GCN-NEXT: {{  $}}1960  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr01961  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc1962  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1963  ; GCN-NEXT:   S_BRANCH %bb.11964  ; GCN-NEXT: {{  $}}1965  ; GCN-NEXT: bb.1:1966  ; GCN-NEXT:   successors: %bb.2(0x80000000)1967  ; GCN-NEXT: {{  $}}1968  ; GCN-NEXT: bb.2:1969  ; GCN-NEXT:   S_ENDPGM 01970  bb.0:1971    successors: %bb.1(0x40000000), %bb.2(0x40000000)1972    liveins: $sgpr0, $vgpr0_vgpr11973 1974    %0:sreg_32 = COPY $sgpr01975    %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc1976    S_CMP_GT_U32 killed %1:sreg_32, 0, implicit-def $scc1977    S_CBRANCH_SCC0 %bb.2, implicit $scc1978    S_BRANCH %bb.11979 1980  bb.1:1981    successors: %bb.2(0x80000000)1982 1983  bb.2:1984    S_ENDPGM 01985 1986...1987 1988---1989name:            and_0x80000000_cmp_eq_u64_0x800000001990body:             |1991  ; GCN-LABEL: name: and_0x80000000_cmp_eq_u64_0x800000001992  ; GCN: bb.0:1993  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)1994  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr11995  ; GCN-NEXT: {{  $}}1996  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr11997  ; GCN-NEXT:   S_BITCMP1_B64 killed [[COPY]], 35, implicit-def $scc1998  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc1999  ; GCN-NEXT:   S_BRANCH %bb.12000  ; GCN-NEXT: {{  $}}2001  ; GCN-NEXT: bb.1:2002  ; GCN-NEXT:   successors: %bb.2(0x80000000)2003  ; GCN-NEXT: {{  $}}2004  ; GCN-NEXT: bb.2:2005  ; GCN-NEXT:   S_ENDPGM 02006  bb.0:2007    successors: %bb.1(0x40000000), %bb.2(0x40000000)2008    liveins: $sgpr0_sgpr1, $vgpr0_vgpr12009 2010    %0:sreg_64 = COPY $sgpr0_sgpr12011    %1:sreg_64 = S_AND_B64 34359738368, killed %0, implicit-def dead $scc2012    S_CMP_EQ_U64 killed %1:sreg_64, 34359738368, implicit-def $scc2013    S_CBRANCH_SCC0 %bb.2, implicit $scc2014    S_BRANCH %bb.12015 2016  bb.1:2017    successors: %bb.2(0x80000000)2018 2019  bb.2:2020    S_ENDPGM 02021 2022...2023 2024---2025name:            and_0x8000000000000000_cmp_eq_u64_0x80000000000000002026body:             |2027  ; GCN-LABEL: name: and_0x8000000000000000_cmp_eq_u64_0x80000000000000002028  ; GCN: bb.0:2029  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2030  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr12031  ; GCN-NEXT: {{  $}}2032  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr12033  ; GCN-NEXT:   S_BITCMP1_B64 killed [[COPY]], 63, implicit-def $scc2034  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc2035  ; GCN-NEXT:   S_BRANCH %bb.12036  ; GCN-NEXT: {{  $}}2037  ; GCN-NEXT: bb.1:2038  ; GCN-NEXT:   successors: %bb.2(0x80000000)2039  ; GCN-NEXT: {{  $}}2040  ; GCN-NEXT: bb.2:2041  ; GCN-NEXT:   S_ENDPGM 02042  bb.0:2043    successors: %bb.1(0x40000000), %bb.2(0x40000000)2044    liveins: $sgpr0_sgpr1, $vgpr0_vgpr12045 2046    %0:sreg_64 = COPY $sgpr0_sgpr12047    %1:sreg_64 = S_AND_B64 9223372036854775808, killed %0, implicit-def dead $scc2048    S_CMP_EQ_U64 killed %1:sreg_64, 9223372036854775808, implicit-def $scc2049    S_CBRANCH_SCC0 %bb.2, implicit $scc2050    S_BRANCH %bb.12051 2052  bb.1:2053    successors: %bb.2(0x80000000)2054 2055  bb.2:2056    S_ENDPGM 02057 2058...2059 2060---2061name:            and_2_cmp_eq_u32_2_used_and2062body:             |2063  ; GCN-LABEL: name: and_2_cmp_eq_u32_2_used_and2064  ; GCN: bb.0:2065  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2066  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr12067  ; GCN-NEXT: {{  $}}2068  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr02069  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 2, killed [[COPY]], implicit-def $scc2070  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc2071  ; GCN-NEXT:   S_BRANCH %bb.12072  ; GCN-NEXT: {{  $}}2073  ; GCN-NEXT: bb.1:2074  ; GCN-NEXT:   successors: %bb.2(0x80000000)2075  ; GCN-NEXT: {{  $}}2076  ; GCN-NEXT:   S_NOP 0, implicit [[S_AND_B32_]]2077  ; GCN-NEXT: {{  $}}2078  ; GCN-NEXT: bb.2:2079  ; GCN-NEXT:   S_ENDPGM 02080  bb.0:2081    successors: %bb.1(0x40000000), %bb.2(0x40000000)2082    liveins: $sgpr0, $vgpr0_vgpr12083 2084    %0:sreg_32 = COPY $sgpr02085    %1:sreg_32 = S_AND_B32 2, killed %0, implicit-def dead $scc2086    S_CMP_EQ_U32 %1:sreg_32, 2, implicit-def $scc2087    S_CBRANCH_SCC0 %bb.2, implicit $scc2088    S_BRANCH %bb.12089 2090  bb.1:2091    successors: %bb.2(0x80000000)2092 2093    S_NOP 0, implicit %12094 2095  bb.2:2096    S_ENDPGM 02097 2098...2099 2100---2101name:            and_3_cmp_eq_u32_32102body:             |2103  ; GCN-LABEL: name: and_3_cmp_eq_u32_32104  ; GCN: bb.0:2105  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2106  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr12107  ; GCN-NEXT: {{  $}}2108  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr02109  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 3, killed [[COPY]], implicit-def dead $scc2110  ; GCN-NEXT:   S_CMP_EQ_U32 killed [[S_AND_B32_]], 3, implicit-def $scc2111  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc2112  ; GCN-NEXT:   S_BRANCH %bb.12113  ; GCN-NEXT: {{  $}}2114  ; GCN-NEXT: bb.1:2115  ; GCN-NEXT:   successors: %bb.2(0x80000000)2116  ; GCN-NEXT: {{  $}}2117  ; GCN-NEXT: bb.2:2118  ; GCN-NEXT:   S_ENDPGM 02119  bb.0:2120    successors: %bb.1(0x40000000), %bb.2(0x40000000)2121    liveins: $sgpr0, $vgpr0_vgpr12122 2123    %0:sreg_32 = COPY $sgpr02124    %1:sreg_32 = S_AND_B32 3, killed %0, implicit-def dead $scc2125    S_CMP_EQ_U32 killed %1:sreg_32, 3, implicit-def $scc2126    S_CBRANCH_SCC0 %bb.2, implicit $scc2127    S_BRANCH %bb.12128 2129  bb.1:2130    successors: %bb.2(0x80000000)2131 2132  bb.2:2133    S_ENDPGM 02134 2135...2136 2137---2138name:            and_3_cmp_lg_u32_02139body:             |2140  ; GCN-LABEL: name: and_3_cmp_lg_u32_02141  ; GCN: bb.0:2142  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2143  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr12144  ; GCN-NEXT: {{  $}}2145  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr02146  ; GCN-NEXT:   [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 3, killed [[COPY]], implicit-def $scc2147  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc2148  ; GCN-NEXT:   S_BRANCH %bb.12149  ; GCN-NEXT: {{  $}}2150  ; GCN-NEXT: bb.1:2151  ; GCN-NEXT:   successors: %bb.2(0x80000000)2152  ; GCN-NEXT: {{  $}}2153  ; GCN-NEXT: bb.2:2154  ; GCN-NEXT:   S_ENDPGM 02155  bb.0:2156    successors: %bb.1(0x40000000), %bb.2(0x40000000)2157    liveins: $sgpr0, $vgpr0_vgpr12158 2159    %0:sreg_32 = COPY $sgpr02160    %1:sreg_32 = S_AND_B32 3, killed %0, implicit-def dead $scc2161    S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc2162    S_CBRANCH_SCC0 %bb.2, implicit $scc2163    S_BRANCH %bb.12164 2165  bb.1:2166    successors: %bb.2(0x80000000)2167 2168  bb.2:2169    S_ENDPGM 02170 2171...2172 2173---2174name:            and_4_cmp_lg_u32_02175body:             |2176  ; GCN-LABEL: name: and_4_cmp_lg_u32_02177  ; GCN: bb.0:2178  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2179  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr12180  ; GCN-NEXT: {{  $}}2181  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr02182  ; GCN-NEXT:   S_BITCMP1_B32 killed [[COPY]], 2, implicit-def $scc2183  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc2184  ; GCN-NEXT:   S_BRANCH %bb.12185  ; GCN-NEXT: {{  $}}2186  ; GCN-NEXT: bb.1:2187  ; GCN-NEXT:   successors: %bb.2(0x80000000)2188  ; GCN-NEXT: {{  $}}2189  ; GCN-NEXT: bb.2:2190  ; GCN-NEXT:   S_ENDPGM 02191  bb.0:2192    successors: %bb.1(0x40000000), %bb.2(0x40000000)2193    liveins: $sgpr0, $vgpr0_vgpr12194 2195    %0:sreg_32 = COPY $sgpr02196    %1:sreg_32 = S_AND_B32 4, killed %0, implicit-def dead $scc2197    S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc2198    S_CBRANCH_SCC0 %bb.2, implicit $scc2199    S_BRANCH %bb.12200 2201  bb.1:2202    successors: %bb.2(0x80000000)2203 2204  bb.2:2205    S_ENDPGM 02206 2207...2208 2209---2210name:            and_0x80000000_cmp_eq_u32_02211body:             |2212  ; GCN-LABEL: name: and_0x80000000_cmp_eq_u32_02213  ; GCN: bb.0:2214  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2215  ; GCN-NEXT:   liveins: $sgpr0, $vgpr0_vgpr12216  ; GCN-NEXT: {{  $}}2217  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr02218  ; GCN-NEXT:   S_BITCMP0_B32 killed [[COPY]], 31, implicit-def $scc2219  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc2220  ; GCN-NEXT:   S_BRANCH %bb.12221  ; GCN-NEXT: {{  $}}2222  ; GCN-NEXT: bb.1:2223  ; GCN-NEXT:   successors: %bb.2(0x80000000)2224  ; GCN-NEXT: {{  $}}2225  ; GCN-NEXT: bb.2:2226  ; GCN-NEXT:   S_ENDPGM 02227  bb.0:2228    successors: %bb.1(0x40000000), %bb.2(0x40000000)2229    liveins: $sgpr0, $vgpr0_vgpr12230 2231    %0:sreg_32 = COPY $sgpr02232    %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc2233    S_CMP_EQ_U32 killed %1:sreg_32, 0, implicit-def $scc2234    S_CBRANCH_SCC0 %bb.2, implicit $scc2235    S_BRANCH %bb.12236 2237  bb.1:2238    successors: %bb.2(0x80000000)2239 2240  bb.2:2241    S_ENDPGM 02242 2243...2244 2245---2246name:            and_0x8000000000000000_cmp_lg_u64_0x80000000000000002247body:             |2248  ; GCN-LABEL: name: and_0x8000000000000000_cmp_lg_u64_0x80000000000000002249  ; GCN: bb.0:2250  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2251  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr12252  ; GCN-NEXT: {{  $}}2253  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr12254  ; GCN-NEXT:   S_BITCMP0_B64 killed [[COPY]], 63, implicit-def $scc2255  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc2256  ; GCN-NEXT:   S_BRANCH %bb.12257  ; GCN-NEXT: {{  $}}2258  ; GCN-NEXT: bb.1:2259  ; GCN-NEXT:   successors: %bb.2(0x80000000)2260  ; GCN-NEXT: {{  $}}2261  ; GCN-NEXT: bb.2:2262  ; GCN-NEXT:   S_ENDPGM 02263  bb.0:2264    successors: %bb.1(0x40000000), %bb.2(0x40000000)2265    liveins: $sgpr0_sgpr1, $vgpr0_vgpr12266 2267    %0:sreg_64 = COPY $sgpr0_sgpr12268    %1:sreg_64 = S_AND_B64 9223372036854775808, killed %0, implicit-def dead $scc2269    S_CMP_LG_U64 killed %1:sreg_64, 9223372036854775808, implicit-def $scc2270    S_CBRANCH_SCC0 %bb.2, implicit $scc2271    S_BRANCH %bb.12272 2273  bb.1:2274    successors: %bb.2(0x80000000)2275 2276  bb.2:2277    S_ENDPGM 02278 2279...2280 2281---2282name:            s_cselect_b64_s_or_b32_s_cmp_lg_u32_0x000000002283body:             |2284  ; GCN-LABEL: name: s_cselect_b64_s_or_b32_s_cmp_lg_u32_0x000000002285  ; GCN: bb.0:2286  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2287  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr12288  ; GCN-NEXT: {{  $}}2289  ; GCN-NEXT:   [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF2290  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY [[DEF]]2291  ; GCN-NEXT:   S_CMP_LG_U32 [[COPY]], 0, implicit-def $scc2292  ; GCN-NEXT:   [[S_CSELECT_B64_:%[0-9]+]]:sreg_64_xexec = S_CSELECT_B64 -1, 0, implicit $scc2293  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:sreg_32_xm0_xexec = COPY [[S_CSELECT_B64_]].sub02294  ; GCN-NEXT:   [[COPY2:%[0-9]+]]:sreg_32_xm0_xexec = COPY [[S_CSELECT_B64_]].sub12295  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc2296  ; GCN-NEXT:   S_BRANCH %bb.12297  ; GCN-NEXT: {{  $}}2298  ; GCN-NEXT: bb.1:2299  ; GCN-NEXT:   successors: %bb.2(0x80000000)2300  ; GCN-NEXT: {{  $}}2301  ; GCN-NEXT: bb.2:2302  ; GCN-NEXT:   S_ENDPGM 02303  bb.0:2304    successors: %bb.1(0x40000000), %bb.2(0x40000000)2305    liveins: $sgpr0_sgpr1, $vgpr0_vgpr12306    %0:vgpr_32 = IMPLICIT_DEF2307    %2:sreg_32 = COPY %02308    S_CMP_LG_U32 %2, 0, implicit-def $scc2309    %31:sreg_64_xexec = S_CSELECT_B64 -1, 0, implicit $scc2310    %40:sreg_32_xm0_xexec = COPY %31.sub0:sreg_64_xexec2311    %41:sreg_32_xm0_xexec = COPY %31.sub1:sreg_64_xexec2312    %sgpr4:sreg_32 = S_OR_B32 %40:sreg_32_xm0_xexec, %41:sreg_32_xm0_xexec, implicit-def $scc2313    S_CMP_LG_U32 %sgpr4, 0, implicit-def $scc2314    S_CBRANCH_SCC0 %bb.2, implicit $scc2315    S_BRANCH %bb.12316 2317  bb.1:2318    successors: %bb.2(0x80000000)2319 2320  bb.2:2321    S_ENDPGM 02322 2323...2324---2325# Do not delete s_or_b32 because of intervening def of scc2326name:            s_cselect_b64_s_or_b32_s_cmp_lg_u32_0x00000000_cant_optimize_intervening2327body:             |2328  ; GCN-LABEL: name: s_cselect_b64_s_or_b32_s_cmp_lg_u32_0x00000000_cant_optimize_intervening2329  ; GCN: bb.0:2330  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2331  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr12332  ; GCN-NEXT: {{  $}}2333  ; GCN-NEXT:   [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF2334  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY [[DEF]]2335  ; GCN-NEXT:   S_CMP_LG_U32 [[COPY]], 0, implicit-def $scc2336  ; GCN-NEXT:   [[S_CSELECT_B64_:%[0-9]+]]:sreg_64_xexec = S_CSELECT_B64 -1, 0, implicit $scc2337  ; GCN-NEXT:   S_CMP_LG_U32 [[COPY]], 0, implicit-def $scc2338  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:sreg_32_xm0_xexec = COPY [[S_CSELECT_B64_]].sub02339  ; GCN-NEXT:   [[COPY2:%[0-9]+]]:sreg_32_xm0_xexec = COPY [[S_CSELECT_B64_]].sub12340  ; GCN-NEXT:   %sgpr4:sreg_32 = S_OR_B32 [[COPY1]], [[COPY2]], implicit-def $scc2341  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc2342  ; GCN-NEXT:   S_BRANCH %bb.12343  ; GCN-NEXT: {{  $}}2344  ; GCN-NEXT: bb.1:2345  ; GCN-NEXT:   successors: %bb.2(0x80000000)2346  ; GCN-NEXT: {{  $}}2347  ; GCN-NEXT: bb.2:2348  ; GCN-NEXT:   S_ENDPGM 02349  bb.0:2350    successors: %bb.1(0x40000000), %bb.2(0x40000000)2351    liveins: $sgpr0_sgpr1, $vgpr0_vgpr12352    %0:vgpr_32 = IMPLICIT_DEF2353    %2:sreg_32 = COPY %02354    S_CMP_LG_U32 %2, 0, implicit-def $scc2355    %31:sreg_64_xexec = S_CSELECT_B64 -1, 0, implicit $scc2356    S_CMP_LG_U32 %2, 0, implicit-def $scc2357    %40:sreg_32_xm0_xexec = COPY %31.sub0:sreg_64_xexec2358    %41:sreg_32_xm0_xexec = COPY %31.sub1:sreg_64_xexec2359    %sgpr4:sreg_32 = S_OR_B32 %40:sreg_32_xm0_xexec, %41:sreg_32_xm0_xexec, implicit-def $scc2360    S_CMP_LG_U32 %sgpr4, 0, implicit-def $scc2361    S_CBRANCH_SCC0 %bb.2, implicit $scc2362    S_BRANCH %bb.12363 2364  bb.1:2365    successors: %bb.2(0x80000000)2366 2367  bb.2:2368    S_ENDPGM 02369 2370...2371 2372---2373# Do not delete s_or_b32 since both operands are sub1.2374name:            s_cselect_b64_s_or_b32_s_cmp_lg_u32_0x00000000_cant_optimize2375body:             |2376  ; GCN-LABEL: name: s_cselect_b64_s_or_b32_s_cmp_lg_u32_0x00000000_cant_optimize2377  ; GCN: bb.0:2378  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2379  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr12380  ; GCN-NEXT: {{  $}}2381  ; GCN-NEXT:   [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF2382  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY [[DEF]]2383  ; GCN-NEXT:   S_CMP_LG_U32 [[COPY]], 0, implicit-def $scc2384  ; GCN-NEXT:   [[S_CSELECT_B64_:%[0-9]+]]:sreg_64_xexec = S_CSELECT_B64 1, 0, implicit $scc2385  ; GCN-NEXT:   [[COPY1:%[0-9]+]]:sreg_32_xm0_xexec = COPY [[S_CSELECT_B64_]].sub12386  ; GCN-NEXT:   [[COPY2:%[0-9]+]]:sreg_32 = COPY [[S_CSELECT_B64_]].sub12387  ; GCN-NEXT:   %sgpr4:sreg_32 = S_OR_B32 [[COPY1]], [[COPY2]], implicit-def $scc2388  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc2389  ; GCN-NEXT:   S_BRANCH %bb.12390  ; GCN-NEXT: {{  $}}2391  ; GCN-NEXT: bb.1:2392  ; GCN-NEXT:   successors: %bb.2(0x80000000)2393  ; GCN-NEXT: {{  $}}2394  ; GCN-NEXT: bb.2:2395  ; GCN-NEXT:   S_ENDPGM 02396  bb.0:2397    successors: %bb.1(0x40000000), %bb.2(0x40000000)2398    liveins: $sgpr0_sgpr1, $vgpr0_vgpr12399    %0:vgpr_32 = IMPLICIT_DEF2400    %2:sreg_32 = COPY %02401    S_CMP_LG_U32 %2, 0, implicit-def $scc2402    %31:sreg_64_xexec = S_CSELECT_B64 1, 0, implicit $scc2403    %40:sreg_32_xm0_xexec = COPY %31.sub1:sreg_64_xexec2404    %41:sreg_32 = COPY %31.sub1:sreg_64_xexec2405    %sgpr4:sreg_32 = S_OR_B32 %40:sreg_32_xm0_xexec, %41:sreg_32, implicit-def $scc2406    S_CMP_LG_U32 %sgpr4, 0, implicit-def $scc2407    S_CBRANCH_SCC0 %bb.2, implicit $scc2408    S_BRANCH %bb.12409 2410  bb.1:2411    successors: %bb.2(0x80000000)2412 2413  bb.2:2414    S_ENDPGM 02415 2416...2417 2418---2419name:            s_cselect_b64_undef_s_or_b32_s_cmp_lg_u32_0x000000002420body:             |2421  ; GCN-LABEL: name: s_cselect_b64_undef_s_or_b32_s_cmp_lg_u32_0x000000002422  ; GCN: bb.0:2423  ; GCN-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)2424  ; GCN-NEXT:   liveins: $sgpr0_sgpr1, $vgpr0_vgpr12425  ; GCN-NEXT: {{  $}}2426  ; GCN-NEXT:   [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF2427  ; GCN-NEXT:   [[COPY:%[0-9]+]]:sreg_32 = COPY [[DEF]]2428  ; GCN-NEXT:   S_CMP_LG_U32 [[COPY]], 0, implicit-def $scc2429  ; GCN-NEXT:   [[S_CSELECT_B64_:%[0-9]+]]:sreg_64_xexec = S_CSELECT_B64 -1, 0, implicit $scc2430  ; GCN-NEXT:   %sgpr4:sreg_32 = S_OR_B32 undef %4:sreg_32_xm0_xexec, undef %5:sreg_32_xm0_xexec, implicit-def $scc2431  ; GCN-NEXT:   S_CBRANCH_SCC0 %bb.2, implicit $scc2432  ; GCN-NEXT:   S_BRANCH %bb.12433  ; GCN-NEXT: {{  $}}2434  ; GCN-NEXT: bb.1:2435  ; GCN-NEXT:   successors: %bb.2(0x80000000)2436  ; GCN-NEXT: {{  $}}2437  ; GCN-NEXT: bb.2:2438  ; GCN-NEXT:   S_ENDPGM 02439  bb.0:2440    successors: %bb.1(0x40000000), %bb.2(0x40000000)2441    liveins: $sgpr0_sgpr1, $vgpr0_vgpr12442    %0:vgpr_32 = IMPLICIT_DEF2443    %2:sreg_32 = COPY %02444    S_CMP_LG_U32 %2, 0, implicit-def $scc2445    %31:sreg_64_xexec = S_CSELECT_B64 -1, 0, implicit $scc2446    %sgpr4:sreg_32 = S_OR_B32 undef %40:sreg_32_xm0_xexec, undef %41:sreg_32_xm0_xexec, implicit-def $scc2447    S_CMP_LG_U32 %sgpr4, 0, implicit-def $scc2448    S_CBRANCH_SCC0 %bb.2, implicit $scc2449    S_BRANCH %bb.12450 2451  bb.1:2452    successors: %bb.2(0x80000000)2453 2454  bb.2:2455    S_ENDPGM 02456 2457...2458