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