1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=peephole-opt --verify-machineinstrs -o - %s | FileCheck -check-prefix=GCN %s 3 4--- 5name: and_1_cmp_eq_u32_1 6body: | 7 ; GCN-LABEL: name: and_1_cmp_eq_u32_1 8 ; GCN: bb.0: 9 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 10 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 11 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 12 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 13 ; GCN: S_BRANCH %bb.1 14 ; GCN: bb.1: 15 ; GCN: successors: %bb.2(0x80000000) 16 ; GCN: bb.2: 17 ; GCN: S_ENDPGM 0 18 bb.0: 19 successors: %bb.1(0x40000000), %bb.2(0x40000000) 20 liveins: $sgpr0, $vgpr0_vgpr1 21 22 %0:sreg_32 = COPY $sgpr0 23 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 24 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc 25 S_CBRANCH_SCC0 %bb.2, implicit $scc 26 S_BRANCH %bb.1 27 28 bb.1: 29 successors: %bb.2(0x80000000) 30 31 bb.2: 32 S_ENDPGM 0 33 34... 35 36--- 37name: and_1_cmp_eq_u32_1_used_and 38body: | 39 ; GCN-LABEL: name: and_1_cmp_eq_u32_1_used_and 40 ; GCN: bb.0: 41 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 42 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 43 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def $scc 44 ; GCN: S_NOP 0, implicit [[S_AND_B32_]] 45 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 46 ; GCN: S_BRANCH %bb.1 47 ; GCN: bb.1: 48 ; GCN: successors: %bb.2(0x80000000) 49 ; GCN: bb.2: 50 ; GCN: S_ENDPGM 0 51 bb.0: 52 successors: %bb.1(0x40000000), %bb.2(0x40000000) 53 liveins: $sgpr0, $vgpr0_vgpr1 54 55 %0:sreg_32 = COPY $sgpr0 56 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 57 S_NOP 0, implicit %1 58 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc 59 S_CBRANCH_SCC0 %bb.2, implicit $scc 60 S_BRANCH %bb.1 61 62 bb.1: 63 successors: %bb.2(0x80000000) 64 65 bb.2: 66 S_ENDPGM 0 67 68... 69 70--- 71name: and_1_cmp_eq_i32_1 72body: | 73 ; GCN-LABEL: name: and_1_cmp_eq_i32_1 74 ; GCN: bb.0: 75 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 76 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 77 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 78 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 79 ; GCN: S_BRANCH %bb.1 80 ; GCN: bb.1: 81 ; GCN: successors: %bb.2(0x80000000) 82 ; GCN: bb.2: 83 ; GCN: S_ENDPGM 0 84 bb.0: 85 successors: %bb.1(0x40000000), %bb.2(0x40000000) 86 liveins: $sgpr0, $vgpr0_vgpr1 87 88 %0:sreg_32 = COPY $sgpr0 89 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 90 S_CMP_EQ_I32 killed %1:sreg_32, 1, implicit-def $scc 91 S_CBRANCH_SCC0 %bb.2, implicit $scc 92 S_BRANCH %bb.1 93 94 bb.1: 95 successors: %bb.2(0x80000000) 96 97 bb.2: 98 S_ENDPGM 0 99 100... 101 102--- 103name: and_1_cmp_eq_i32_1_phys 104body: | 105 ; GCN-LABEL: name: and_1_cmp_eq_i32_1_phys 106 ; GCN: bb.0: 107 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 108 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 109 ; GCN: $sgpr2 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc 110 ; GCN: S_CMP_EQ_I32 killed $sgpr2, 1, implicit-def $scc 111 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 112 ; GCN: S_BRANCH %bb.1 113 ; GCN: bb.1: 114 ; GCN: successors: %bb.2(0x80000000) 115 ; GCN: bb.2: 116 ; GCN: S_ENDPGM 0 117 bb.0: 118 successors: %bb.1(0x40000000), %bb.2(0x40000000) 119 liveins: $sgpr0, $vgpr0_vgpr1 120 121 %0:sreg_32 = COPY $sgpr0 122 $sgpr2 = S_AND_B32 1, killed %0, implicit-def dead $scc 123 S_CMP_EQ_I32 killed $sgpr2, 1, implicit-def $scc 124 S_CBRANCH_SCC0 %bb.2, implicit $scc 125 S_BRANCH %bb.1 126 127 bb.1: 128 successors: %bb.2(0x80000000) 129 130 bb.2: 131 S_ENDPGM 0 132 133... 134 135--- 136name: and_1_cmp_eq_i32_1_different_blocks 137body: | 138 ; GCN-LABEL: name: and_1_cmp_eq_i32_1_different_blocks 139 ; GCN: bb.0: 140 ; GCN: successors: %bb.1(0x80000000) 141 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 142 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc 143 ; GCN: bb.1: 144 ; GCN: successors: %bb.2(0x40000000), %bb.1(0x40000000) 145 ; GCN: S_CMP_EQ_I32 killed [[S_AND_B32_]], 1, implicit-def $scc 146 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 147 ; GCN: S_BRANCH %bb.1 148 ; GCN: bb.2: 149 ; GCN: successors: %bb.3(0x80000000) 150 ; GCN: bb.3: 151 ; GCN: S_ENDPGM 0 152 bb.0: 153 liveins: $sgpr0, $vgpr0_vgpr1 154 successors: %bb.1(0x80000000) 155 156 %0:sreg_32 = COPY $sgpr0 157 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 158 159 bb.1: 160 successors: %bb.2(0x40000000), %bb.1(0x40000000) 161 162 S_CMP_EQ_I32 killed %1:sreg_32, 1, implicit-def $scc 163 S_CBRANCH_SCC0 %bb.2, implicit $scc 164 S_BRANCH %bb.1 165 166 bb.2: 167 successors: %bb.3(0x80000000) 168 169 bb.3: 170 S_ENDPGM 0 171 172... 173 174--- 175name: and_3_cmp_eq_1 176body: | 177 ; GCN-LABEL: name: and_3_cmp_eq_1 178 ; GCN: bb.0: 179 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 180 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 181 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 3, killed [[COPY]], implicit-def dead $scc 182 ; GCN: S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc 183 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 184 ; GCN: S_BRANCH %bb.1 185 ; GCN: bb.1: 186 ; GCN: successors: %bb.2(0x80000000) 187 ; GCN: bb.2: 188 ; GCN: S_ENDPGM 0 189 bb.0: 190 successors: %bb.1(0x40000000), %bb.2(0x40000000) 191 liveins: $sgpr0, $vgpr0_vgpr1 192 193 %0:sreg_32 = COPY $sgpr0 194 %1:sreg_32 = S_AND_B32 3, killed %0, implicit-def dead $scc 195 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc 196 S_CBRANCH_SCC0 %bb.2, implicit $scc 197 S_BRANCH %bb.1 198 199 bb.1: 200 successors: %bb.2(0x80000000) 201 202 bb.2: 203 S_ENDPGM 0 204 205... 206 207--- 208name: commuted_and_1_cmp_eq_1 209body: | 210 ; GCN-LABEL: name: commuted_and_1_cmp_eq_1 211 ; GCN: bb.0: 212 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 213 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 214 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 215 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 216 ; GCN: S_BRANCH %bb.1 217 ; GCN: bb.1: 218 ; GCN: successors: %bb.2(0x80000000) 219 ; GCN: bb.2: 220 ; GCN: S_ENDPGM 0 221 bb.0: 222 successors: %bb.1(0x40000000), %bb.2(0x40000000) 223 liveins: $sgpr0, $vgpr0_vgpr1 224 225 %0:sreg_32 = COPY $sgpr0 226 %1:sreg_32 = S_AND_B32 killed %0, 1, implicit-def dead $scc 227 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc 228 S_CBRANCH_SCC0 %bb.2, implicit $scc 229 S_BRANCH %bb.1 230 231 bb.1: 232 successors: %bb.2(0x80000000) 233 234 bb.2: 235 S_ENDPGM 0 236 237... 238 239--- 240name: cmp_eq_1_undef_src 241body: | 242 ; GCN-LABEL: name: cmp_eq_1_undef_src 243 ; GCN: bb.0: 244 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 245 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 246 ; GCN: S_CMP_EQ_U32 undef %1:sreg_32, 1, implicit-def $scc 247 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 248 ; GCN: S_BRANCH %bb.1 249 ; GCN: bb.1: 250 ; GCN: successors: %bb.2(0x80000000) 251 ; GCN: bb.2: 252 ; GCN: S_ENDPGM 0 253 bb.0: 254 successors: %bb.1(0x40000000), %bb.2(0x40000000) 255 liveins: $sgpr0, $vgpr0_vgpr1 256 257 %0:sreg_32 = COPY $sgpr0 258 S_CMP_EQ_U32 undef %1:sreg_32, 1, implicit-def $scc 259 S_CBRANCH_SCC0 %bb.2, implicit $scc 260 S_BRANCH %bb.1 261 262 bb.1: 263 successors: %bb.2(0x80000000) 264 265 bb.2: 266 S_ENDPGM 0 267 268... 269 270--- 271name: and_1_cmp_subreg0_eq_1 272body: | 273 ; GCN-LABEL: name: and_1_cmp_subreg0_eq_1 274 ; GCN: bb.0: 275 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 276 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 277 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc 278 ; GCN: [[REG_SEQUENCE:%[0-9]+]]:sreg_64 = REG_SEQUENCE [[S_AND_B32_]], %subreg.sub0, [[S_AND_B32_]], %subreg.sub1 279 ; GCN: S_CMP_EQ_U32 killed [[REG_SEQUENCE]].sub0, 1, implicit-def $scc 280 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 281 ; GCN: S_BRANCH %bb.1 282 ; GCN: bb.1: 283 ; GCN: successors: %bb.2(0x80000000) 284 ; GCN: bb.2: 285 ; GCN: S_ENDPGM 0 286 bb.0: 287 successors: %bb.1(0x40000000), %bb.2(0x40000000) 288 liveins: $sgpr0, $vgpr0_vgpr1 289 290 %0:sreg_32 = COPY $sgpr0 291 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 292 %2:sreg_64 = REG_SEQUENCE %1, %subreg.sub0, %1, %subreg.sub1 293 S_CMP_EQ_U32 killed %2.sub0:sreg_64, 1, implicit-def $scc 294 S_CBRANCH_SCC0 %bb.2, implicit $scc 295 S_BRANCH %bb.1 296 297 bb.1: 298 successors: %bb.2(0x80000000) 299 300 bb.2: 301 S_ENDPGM 0 302 303... 304 305--- 306name: and_reg_cmp_eq_1 307body: | 308 ; GCN-LABEL: name: and_reg_cmp_eq_1 309 ; GCN: bb.0: 310 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 311 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 312 ; GCN: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1 313 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 killed [[COPY]], killed [[COPY1]], implicit-def dead $scc 314 ; GCN: S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc 315 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 316 ; GCN: S_BRANCH %bb.1 317 ; GCN: bb.1: 318 ; GCN: successors: %bb.2(0x80000000) 319 ; GCN: bb.2: 320 ; GCN: S_ENDPGM 0 321 bb.0: 322 successors: %bb.1(0x40000000), %bb.2(0x40000000) 323 liveins: $sgpr0, $sgpr1, $vgpr0_vgpr1 324 325 %0:sreg_32 = COPY $sgpr0 326 %1:sreg_32 = COPY $sgpr1 327 %2:sreg_32 = S_AND_B32 killed %0, killed %1, implicit-def dead $scc 328 S_CMP_EQ_U32 killed %2:sreg_32, 1, implicit-def $scc 329 S_CBRANCH_SCC0 %bb.2, implicit $scc 330 S_BRANCH %bb.1 331 332 bb.1: 333 successors: %bb.2(0x80000000) 334 335 bb.2: 336 S_ENDPGM 0 337 338... 339 340--- 341name: and_1_cmp_eq_1_killed_scc 342body: | 343 ; GCN-LABEL: name: and_1_cmp_eq_1_killed_scc 344 ; GCN: bb.0: 345 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 346 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 347 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def $scc 348 ; GCN: S_NOP 0, implicit killed $scc 349 ; GCN: S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc 350 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 351 ; GCN: S_BRANCH %bb.1 352 ; GCN: bb.1: 353 ; GCN: successors: %bb.2(0x80000000) 354 ; GCN: bb.2: 355 ; GCN: S_ENDPGM 0 356 bb.0: 357 successors: %bb.1(0x40000000), %bb.2(0x40000000) 358 liveins: $sgpr0, $vgpr0_vgpr1 359 360 %0:sreg_32 = COPY $sgpr0 361 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def $scc 362 S_NOP 0, implicit killed $scc 363 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc 364 S_CBRANCH_SCC0 %bb.2, implicit $scc 365 S_BRANCH %bb.1 366 367 bb.1: 368 successors: %bb.2(0x80000000) 369 370 bb.2: 371 S_ENDPGM 0 372 373... 374 375--- 376name: and_1_cmp_eq_1_clobbered_scc 377body: | 378 ; GCN-LABEL: name: and_1_cmp_eq_1_clobbered_scc 379 ; GCN: bb.0: 380 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 381 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 382 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def $scc 383 ; GCN: S_NOP 0, implicit-def $scc 384 ; GCN: S_CMP_EQ_U32 killed [[S_AND_B32_]], 1, implicit-def $scc 385 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 386 ; GCN: S_BRANCH %bb.1 387 ; GCN: bb.1: 388 ; GCN: successors: %bb.2(0x80000000) 389 ; GCN: bb.2: 390 ; GCN: S_ENDPGM 0 391 bb.0: 392 successors: %bb.1(0x40000000), %bb.2(0x40000000) 393 liveins: $sgpr0, $vgpr0_vgpr1 394 395 %0:sreg_32 = COPY $sgpr0 396 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def $scc 397 S_NOP 0, implicit-def $scc 398 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc 399 S_CBRANCH_SCC0 %bb.2, implicit $scc 400 S_BRANCH %bb.1 401 402 bb.1: 403 successors: %bb.2(0x80000000) 404 405 bb.2: 406 S_ENDPGM 0 407 408... 409 410--- 411name: and_1_cmp_eq_2 412body: | 413 ; GCN-LABEL: name: and_1_cmp_eq_2 414 ; GCN: bb.0: 415 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 416 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 417 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc 418 ; GCN: S_CMP_EQ_U32 killed [[S_AND_B32_]], 2, implicit-def $scc 419 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 420 ; GCN: S_BRANCH %bb.1 421 ; GCN: bb.1: 422 ; GCN: successors: %bb.2(0x80000000) 423 ; GCN: bb.2: 424 ; GCN: S_ENDPGM 0 425 bb.0: 426 successors: %bb.1(0x40000000), %bb.2(0x40000000) 427 liveins: $sgpr0, $vgpr0_vgpr1 428 429 %0:sreg_32 = COPY $sgpr0 430 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 431 S_CMP_EQ_U32 killed %1:sreg_32, 2, implicit-def $scc 432 S_CBRANCH_SCC0 %bb.2, implicit $scc 433 S_BRANCH %bb.1 434 435 bb.1: 436 successors: %bb.2(0x80000000) 437 438 bb.2: 439 S_ENDPGM 0 440 441... 442 443--- 444name: or_1_cmp_eq_u32_1 445body: | 446 ; GCN-LABEL: name: or_1_cmp_eq_u32_1 447 ; GCN: bb.0: 448 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 449 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 450 ; GCN: [[S_OR_B32_:%[0-9]+]]:sreg_32 = S_OR_B32 1, killed [[COPY]], implicit-def dead $scc 451 ; GCN: S_CMP_EQ_U32 killed [[S_OR_B32_]], 1, implicit-def $scc 452 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 453 ; GCN: S_BRANCH %bb.1 454 ; GCN: bb.1: 455 ; GCN: successors: %bb.2(0x80000000) 456 ; GCN: bb.2: 457 ; GCN: S_ENDPGM 0 458 bb.0: 459 successors: %bb.1(0x40000000), %bb.2(0x40000000) 460 liveins: $sgpr0, $vgpr0_vgpr1 461 462 %0:sreg_32 = COPY $sgpr0 463 %1:sreg_32 = S_OR_B32 1, killed %0, implicit-def dead $scc 464 S_CMP_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc 465 S_CBRANCH_SCC0 %bb.2, implicit $scc 466 S_BRANCH %bb.1 467 468 bb.1: 469 successors: %bb.2(0x80000000) 470 471 bb.2: 472 S_ENDPGM 0 473 474... 475 476--- 477name: and_1_cmp_ge_u32_1 478body: | 479 ; GCN-LABEL: name: and_1_cmp_ge_u32_1 480 ; GCN: bb.0: 481 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 482 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 483 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 484 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 485 ; GCN: S_BRANCH %bb.1 486 ; GCN: bb.1: 487 ; GCN: successors: %bb.2(0x80000000) 488 ; GCN: bb.2: 489 ; GCN: S_ENDPGM 0 490 bb.0: 491 successors: %bb.1(0x40000000), %bb.2(0x40000000) 492 liveins: $sgpr0, $vgpr0_vgpr1 493 494 %0:sreg_32 = COPY $sgpr0 495 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 496 S_CMP_GE_U32 killed %1:sreg_32, 1, implicit-def $scc 497 S_CBRANCH_SCC0 %bb.2, implicit $scc 498 S_BRANCH %bb.1 499 500 bb.1: 501 successors: %bb.2(0x80000000) 502 503 bb.2: 504 S_ENDPGM 0 505 506... 507 508--- 509name: and_1_cmp_ge_i32_1 510body: | 511 ; GCN-LABEL: name: and_1_cmp_ge_i32_1 512 ; GCN: bb.0: 513 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 514 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 515 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 516 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 517 ; GCN: S_BRANCH %bb.1 518 ; GCN: bb.1: 519 ; GCN: successors: %bb.2(0x80000000) 520 ; GCN: bb.2: 521 ; GCN: S_ENDPGM 0 522 bb.0: 523 successors: %bb.1(0x40000000), %bb.2(0x40000000) 524 liveins: $sgpr0, $vgpr0_vgpr1 525 526 %0:sreg_32 = COPY $sgpr0 527 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 528 S_CMP_GE_I32 killed %1:sreg_32, 1, implicit-def $scc 529 S_CBRANCH_SCC0 %bb.2, implicit $scc 530 S_BRANCH %bb.1 531 532 bb.1: 533 successors: %bb.2(0x80000000) 534 535 bb.2: 536 S_ENDPGM 0 537 538... 539 540--- 541name: and_1_cmp_gt_u32_0 542body: | 543 ; GCN-LABEL: name: and_1_cmp_gt_u32_0 544 ; GCN: bb.0: 545 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 546 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 547 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 548 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 549 ; GCN: S_BRANCH %bb.1 550 ; GCN: bb.1: 551 ; GCN: successors: %bb.2(0x80000000) 552 ; GCN: bb.2: 553 ; GCN: S_ENDPGM 0 554 bb.0: 555 successors: %bb.1(0x40000000), %bb.2(0x40000000) 556 liveins: $sgpr0, $vgpr0_vgpr1 557 558 %0:sreg_32 = COPY $sgpr0 559 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 560 S_CMP_GT_U32 killed %1:sreg_32, 0, implicit-def $scc 561 S_CBRANCH_SCC0 %bb.2, implicit $scc 562 S_BRANCH %bb.1 563 564 bb.1: 565 successors: %bb.2(0x80000000) 566 567 bb.2: 568 S_ENDPGM 0 569 570... 571 572--- 573name: and_1_cmp_gt_i32_0 574body: | 575 ; GCN-LABEL: name: and_1_cmp_gt_i32_0 576 ; GCN: bb.0: 577 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 578 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 579 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 580 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 581 ; GCN: S_BRANCH %bb.1 582 ; GCN: bb.1: 583 ; GCN: successors: %bb.2(0x80000000) 584 ; GCN: bb.2: 585 ; GCN: S_ENDPGM 0 586 bb.0: 587 successors: %bb.1(0x40000000), %bb.2(0x40000000) 588 liveins: $sgpr0, $vgpr0_vgpr1 589 590 %0:sreg_32 = COPY $sgpr0 591 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 592 S_CMP_GT_U32 killed %1:sreg_32, 0, implicit-def $scc 593 S_CBRANCH_SCC0 %bb.2, implicit $scc 594 S_BRANCH %bb.1 595 596 bb.1: 597 successors: %bb.2(0x80000000) 598 599 bb.2: 600 S_ENDPGM 0 601 602... 603 604--- 605name: and_1_cmp_gt_1 606body: | 607 ; GCN-LABEL: name: and_1_cmp_gt_1 608 ; GCN: bb.0: 609 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 610 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 611 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc 612 ; GCN: S_CMP_GT_U32 killed [[S_AND_B32_]], 1, implicit-def $scc 613 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 614 ; GCN: S_BRANCH %bb.1 615 ; GCN: bb.1: 616 ; GCN: successors: %bb.2(0x80000000) 617 ; GCN: bb.2: 618 ; GCN: S_ENDPGM 0 619 bb.0: 620 successors: %bb.1(0x40000000), %bb.2(0x40000000) 621 liveins: $sgpr0, $vgpr0_vgpr1 622 623 %0:sreg_32 = COPY $sgpr0 624 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 625 S_CMP_GT_U32 killed %1:sreg_32, 1, implicit-def $scc 626 S_CBRANCH_SCC0 %bb.2, implicit $scc 627 S_BRANCH %bb.1 628 629 bb.1: 630 successors: %bb.2(0x80000000) 631 632 bb.2: 633 S_ENDPGM 0 634 635... 636 637--- 638name: and_1_cmp_lg_u32_0 639body: | 640 ; GCN-LABEL: name: and_1_cmp_lg_u32_0 641 ; GCN: bb.0: 642 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 643 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 644 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 645 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 646 ; GCN: S_BRANCH %bb.1 647 ; GCN: bb.1: 648 ; GCN: successors: %bb.2(0x80000000) 649 ; GCN: bb.2: 650 ; GCN: S_ENDPGM 0 651 bb.0: 652 successors: %bb.1(0x40000000), %bb.2(0x40000000) 653 liveins: $sgpr0, $vgpr0_vgpr1 654 655 %0:sreg_32 = COPY $sgpr0 656 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 657 S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc 658 S_CBRANCH_SCC0 %bb.2, implicit $scc 659 S_BRANCH %bb.1 660 661 bb.1: 662 successors: %bb.2(0x80000000) 663 664 bb.2: 665 S_ENDPGM 0 666 667... 668 669--- 670name: and_1_cmp_lg_i32_0 671body: | 672 ; GCN-LABEL: name: and_1_cmp_lg_i32_0 673 ; GCN: bb.0: 674 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 675 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 676 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 677 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 678 ; GCN: S_BRANCH %bb.1 679 ; GCN: bb.1: 680 ; GCN: successors: %bb.2(0x80000000) 681 ; GCN: bb.2: 682 ; GCN: S_ENDPGM 0 683 bb.0: 684 successors: %bb.1(0x40000000), %bb.2(0x40000000) 685 liveins: $sgpr0, $vgpr0_vgpr1 686 687 %0:sreg_32 = COPY $sgpr0 688 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 689 S_CMP_LG_I32 killed %1:sreg_32, 0, implicit-def $scc 690 S_CBRANCH_SCC0 %bb.2, implicit $scc 691 S_BRANCH %bb.1 692 693 bb.1: 694 successors: %bb.2(0x80000000) 695 696 bb.2: 697 S_ENDPGM 0 698 699... 700 701--- 702name: and_1_cmp_eq_u64_1 703body: | 704 ; GCN-LABEL: name: and_1_cmp_eq_u64_1 705 ; GCN: bb.0: 706 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 707 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 708 ; GCN: S_BITCMP1_B64 killed [[COPY]], 0, implicit-def $scc 709 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 710 ; GCN: S_BRANCH %bb.1 711 ; GCN: bb.1: 712 ; GCN: successors: %bb.2(0x80000000) 713 ; GCN: bb.2: 714 ; GCN: S_ENDPGM 0 715 bb.0: 716 successors: %bb.1(0x40000000), %bb.2(0x40000000) 717 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1 718 719 %0:sreg_64 = COPY $sgpr0_sgpr1 720 %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc 721 S_CMP_EQ_U64 killed %1:sreg_64, 1, implicit-def $scc 722 S_CBRANCH_SCC0 %bb.2, implicit $scc 723 S_BRANCH %bb.1 724 725 bb.1: 726 successors: %bb.2(0x80000000) 727 728 bb.2: 729 S_ENDPGM 0 730 731... 732 733--- 734name: and_1_cmp_lg_u64_0 735body: | 736 ; GCN-LABEL: name: and_1_cmp_lg_u64_0 737 ; GCN: bb.0: 738 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 739 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 740 ; GCN: S_BITCMP1_B64 killed [[COPY]], 0, implicit-def $scc 741 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 742 ; GCN: S_BRANCH %bb.1 743 ; GCN: bb.1: 744 ; GCN: successors: %bb.2(0x80000000) 745 ; GCN: bb.2: 746 ; GCN: S_ENDPGM 0 747 bb.0: 748 successors: %bb.1(0x40000000), %bb.2(0x40000000) 749 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1 750 751 %0:sreg_64 = COPY $sgpr0_sgpr1 752 %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc 753 S_CMP_LG_U64 killed %1:sreg_64, 0, implicit-def $scc 754 S_CBRANCH_SCC0 %bb.2, implicit $scc 755 S_BRANCH %bb.1 756 757 bb.1: 758 successors: %bb.2(0x80000000) 759 760 bb.2: 761 S_ENDPGM 0 762 763... 764 765--- 766name: and_1_cmpk_eq_u32_1 767body: | 768 ; GCN-LABEL: name: and_1_cmpk_eq_u32_1 769 ; GCN: bb.0: 770 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 771 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 772 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 773 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 774 ; GCN: S_BRANCH %bb.1 775 ; GCN: bb.1: 776 ; GCN: successors: %bb.2(0x80000000) 777 ; GCN: bb.2: 778 ; GCN: S_ENDPGM 0 779 bb.0: 780 successors: %bb.1(0x40000000), %bb.2(0x40000000) 781 liveins: $sgpr0, $vgpr0_vgpr1 782 783 %0:sreg_32 = COPY $sgpr0 784 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 785 S_CMPK_EQ_U32 killed %1:sreg_32, 1, implicit-def $scc 786 S_CBRANCH_SCC0 %bb.2, implicit $scc 787 S_BRANCH %bb.1 788 789 bb.1: 790 successors: %bb.2(0x80000000) 791 792 bb.2: 793 S_ENDPGM 0 794 795... 796 797--- 798name: and_1_cmpk_eq_i32_1 799body: | 800 ; GCN-LABEL: name: and_1_cmpk_eq_i32_1 801 ; GCN: bb.0: 802 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 803 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 804 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 805 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 806 ; GCN: S_BRANCH %bb.1 807 ; GCN: bb.1: 808 ; GCN: successors: %bb.2(0x80000000) 809 ; GCN: bb.2: 810 ; GCN: S_ENDPGM 0 811 bb.0: 812 successors: %bb.1(0x40000000), %bb.2(0x40000000) 813 liveins: $sgpr0, $vgpr0_vgpr1 814 815 %0:sreg_32 = COPY $sgpr0 816 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 817 S_CMPK_EQ_I32 killed %1:sreg_32, 1, implicit-def $scc 818 S_CBRANCH_SCC0 %bb.2, implicit $scc 819 S_BRANCH %bb.1 820 821 bb.1: 822 successors: %bb.2(0x80000000) 823 824 bb.2: 825 S_ENDPGM 0 826 827... 828 829--- 830name: and_1_cmpk_ge_u32_1 831body: | 832 ; GCN-LABEL: name: and_1_cmpk_ge_u32_1 833 ; GCN: bb.0: 834 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 835 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 836 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 837 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 838 ; GCN: S_BRANCH %bb.1 839 ; GCN: bb.1: 840 ; GCN: successors: %bb.2(0x80000000) 841 ; GCN: bb.2: 842 ; GCN: S_ENDPGM 0 843 bb.0: 844 successors: %bb.1(0x40000000), %bb.2(0x40000000) 845 liveins: $sgpr0, $vgpr0_vgpr1 846 847 %0:sreg_32 = COPY $sgpr0 848 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 849 S_CMPK_GE_U32 killed %1:sreg_32, 1, implicit-def $scc 850 S_CBRANCH_SCC0 %bb.2, implicit $scc 851 S_BRANCH %bb.1 852 853 bb.1: 854 successors: %bb.2(0x80000000) 855 856 bb.2: 857 S_ENDPGM 0 858 859... 860 861--- 862name: and_1_cmpk_ge_i32_1 863body: | 864 ; GCN-LABEL: name: and_1_cmpk_ge_i32_1 865 ; GCN: bb.0: 866 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 867 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 868 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 869 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 870 ; GCN: S_BRANCH %bb.1 871 ; GCN: bb.1: 872 ; GCN: successors: %bb.2(0x80000000) 873 ; GCN: bb.2: 874 ; GCN: S_ENDPGM 0 875 bb.0: 876 successors: %bb.1(0x40000000), %bb.2(0x40000000) 877 liveins: $sgpr0, $vgpr0_vgpr1 878 879 %0:sreg_32 = COPY $sgpr0 880 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 881 S_CMPK_GE_I32 killed %1:sreg_32, 1, implicit-def $scc 882 S_CBRANCH_SCC0 %bb.2, implicit $scc 883 S_BRANCH %bb.1 884 885 bb.1: 886 successors: %bb.2(0x80000000) 887 888 bb.2: 889 S_ENDPGM 0 890 891... 892 893--- 894name: and_1_cmpk_lg_u32_0 895body: | 896 ; GCN-LABEL: name: and_1_cmpk_lg_u32_0 897 ; GCN: bb.0: 898 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 899 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 900 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 901 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 902 ; GCN: S_BRANCH %bb.1 903 ; GCN: bb.1: 904 ; GCN: successors: %bb.2(0x80000000) 905 ; GCN: bb.2: 906 ; GCN: S_ENDPGM 0 907 bb.0: 908 successors: %bb.1(0x40000000), %bb.2(0x40000000) 909 liveins: $sgpr0, $vgpr0_vgpr1 910 911 %0:sreg_32 = COPY $sgpr0 912 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 913 S_CMPK_LG_U32 killed %1:sreg_32, 0, implicit-def $scc 914 S_CBRANCH_SCC0 %bb.2, implicit $scc 915 S_BRANCH %bb.1 916 917 bb.1: 918 successors: %bb.2(0x80000000) 919 920 bb.2: 921 S_ENDPGM 0 922 923... 924 925--- 926name: and_1_cmpk_lg_i32_0 927body: | 928 ; GCN-LABEL: name: and_1_cmpk_lg_i32_0 929 ; GCN: bb.0: 930 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 931 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 932 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 933 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 934 ; GCN: S_BRANCH %bb.1 935 ; GCN: bb.1: 936 ; GCN: successors: %bb.2(0x80000000) 937 ; GCN: bb.2: 938 ; GCN: S_ENDPGM 0 939 bb.0: 940 successors: %bb.1(0x40000000), %bb.2(0x40000000) 941 liveins: $sgpr0, $vgpr0_vgpr1 942 943 %0:sreg_32 = COPY $sgpr0 944 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 945 S_CMPK_LG_I32 killed %1:sreg_32, 0, implicit-def $scc 946 S_CBRANCH_SCC0 %bb.2, implicit $scc 947 S_BRANCH %bb.1 948 949 bb.1: 950 successors: %bb.2(0x80000000) 951 952 bb.2: 953 S_ENDPGM 0 954 955... 956 957--- 958name: and_1_cmpk_gt_u32_0 959body: | 960 ; GCN-LABEL: name: and_1_cmpk_gt_u32_0 961 ; GCN: bb.0: 962 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 963 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 964 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 965 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 966 ; GCN: S_BRANCH %bb.1 967 ; GCN: bb.1: 968 ; GCN: successors: %bb.2(0x80000000) 969 ; GCN: bb.2: 970 ; GCN: S_ENDPGM 0 971 bb.0: 972 successors: %bb.1(0x40000000), %bb.2(0x40000000) 973 liveins: $sgpr0, $vgpr0_vgpr1 974 975 %0:sreg_32 = COPY $sgpr0 976 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 977 S_CMPK_GT_U32 killed %1:sreg_32, 0, implicit-def $scc 978 S_CBRANCH_SCC0 %bb.2, implicit $scc 979 S_BRANCH %bb.1 980 981 bb.1: 982 successors: %bb.2(0x80000000) 983 984 bb.2: 985 S_ENDPGM 0 986 987... 988 989--- 990name: and_1_cmpk_gt_i32_0 991body: | 992 ; GCN-LABEL: name: and_1_cmpk_gt_i32_0 993 ; GCN: bb.0: 994 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 995 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 996 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 997 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 998 ; GCN: S_BRANCH %bb.1 999 ; GCN: bb.1: 1000 ; GCN: successors: %bb.2(0x80000000) 1001 ; GCN: bb.2: 1002 ; GCN: S_ENDPGM 0 1003 bb.0: 1004 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1005 liveins: $sgpr0, $vgpr0_vgpr1 1006 1007 %0:sreg_32 = COPY $sgpr0 1008 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 1009 S_CMPK_GT_I32 killed %1:sreg_32, 0, implicit-def $scc 1010 S_CBRANCH_SCC0 %bb.2, implicit $scc 1011 S_BRANCH %bb.1 1012 1013 bb.1: 1014 successors: %bb.2(0x80000000) 1015 1016 bb.2: 1017 S_ENDPGM 0 1018 1019... 1020 1021--- 1022name: and_1_cmp_eq_u32_1_imm_src 1023body: | 1024 ; GCN-LABEL: name: and_1_cmp_eq_u32_1_imm_src 1025 ; GCN: bb.0: 1026 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1027 ; GCN: S_BITCMP1_B32 11, 0, implicit-def $scc 1028 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1029 ; GCN: S_BRANCH %bb.1 1030 ; GCN: bb.1: 1031 ; GCN: successors: %bb.2(0x80000000) 1032 ; GCN: bb.2: 1033 ; GCN: S_ENDPGM 0 1034 bb.0: 1035 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1036 liveins: $sgpr0, $vgpr0_vgpr1 1037 1038 %0:sreg_32 = S_AND_B32 1, 11, implicit-def dead $scc 1039 S_CMP_EQ_U32 killed %0:sreg_32, 1, implicit-def $scc 1040 S_CBRANCH_SCC0 %bb.2, implicit $scc 1041 S_BRANCH %bb.1 1042 1043 bb.1: 1044 successors: %bb.2(0x80000000) 1045 1046 bb.2: 1047 S_ENDPGM 0 1048 1049... 1050 1051--- 1052name: and_1_cmp_eq_u32_0 1053body: | 1054 ; GCN-LABEL: name: and_1_cmp_eq_u32_0 1055 ; GCN: bb.0: 1056 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1057 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1058 ; GCN: S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc 1059 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1060 ; GCN: S_BRANCH %bb.1 1061 ; GCN: bb.1: 1062 ; GCN: successors: %bb.2(0x80000000) 1063 ; GCN: bb.2: 1064 ; GCN: S_ENDPGM 0 1065 bb.0: 1066 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1067 liveins: $sgpr0, $vgpr0_vgpr1 1068 1069 %0:sreg_32 = COPY $sgpr0 1070 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 1071 S_CMP_EQ_U32 killed %1:sreg_32, 0, implicit-def $scc 1072 S_CBRANCH_SCC0 %bb.2, implicit $scc 1073 S_BRANCH %bb.1 1074 1075 bb.1: 1076 successors: %bb.2(0x80000000) 1077 1078 bb.2: 1079 S_ENDPGM 0 1080 1081... 1082 1083--- 1084name: and_1_cmp_eq_i32_0 1085body: | 1086 ; GCN-LABEL: name: and_1_cmp_eq_i32_0 1087 ; GCN: bb.0: 1088 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1089 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1090 ; GCN: S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc 1091 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1092 ; GCN: S_BRANCH %bb.1 1093 ; GCN: bb.1: 1094 ; GCN: successors: %bb.2(0x80000000) 1095 ; GCN: bb.2: 1096 ; GCN: S_ENDPGM 0 1097 bb.0: 1098 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1099 liveins: $sgpr0, $vgpr0_vgpr1 1100 1101 %0:sreg_32 = COPY $sgpr0 1102 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 1103 S_CMP_EQ_I32 killed %1:sreg_32, 0, implicit-def $scc 1104 S_CBRANCH_SCC0 %bb.2, implicit $scc 1105 S_BRANCH %bb.1 1106 1107 bb.1: 1108 successors: %bb.2(0x80000000) 1109 1110 bb.2: 1111 S_ENDPGM 0 1112 1113... 1114 1115--- 1116name: and_1_cmp_eq_u64_0 1117body: | 1118 ; GCN-LABEL: name: and_1_cmp_eq_u64_0 1119 ; GCN: bb.0: 1120 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1121 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 1122 ; GCN: S_BITCMP0_B64 killed [[COPY]], 0, implicit-def $scc 1123 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1124 ; GCN: S_BRANCH %bb.1 1125 ; GCN: bb.1: 1126 ; GCN: successors: %bb.2(0x80000000) 1127 ; GCN: bb.2: 1128 ; GCN: S_ENDPGM 0 1129 bb.0: 1130 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1131 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1 1132 1133 %0:sreg_64 = COPY $sgpr0_sgpr1 1134 %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc 1135 S_CMP_EQ_U64 killed %1:sreg_64, 0, implicit-def $scc 1136 S_CBRANCH_SCC0 %bb.2, implicit $scc 1137 S_BRANCH %bb.1 1138 1139 bb.1: 1140 successors: %bb.2(0x80000000) 1141 1142 bb.2: 1143 S_ENDPGM 0 1144 1145... 1146 1147--- 1148name: and_1_cmp_lg_u32_1 1149body: | 1150 ; GCN-LABEL: name: and_1_cmp_lg_u32_1 1151 ; GCN: bb.0: 1152 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1153 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1154 ; GCN: S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc 1155 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1156 ; GCN: S_BRANCH %bb.1 1157 ; GCN: bb.1: 1158 ; GCN: successors: %bb.2(0x80000000) 1159 ; GCN: bb.2: 1160 ; GCN: S_ENDPGM 0 1161 bb.0: 1162 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1163 liveins: $sgpr0, $vgpr0_vgpr1 1164 1165 %0:sreg_32 = COPY $sgpr0 1166 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 1167 S_CMP_LG_U32 killed %1:sreg_32, 1, implicit-def $scc 1168 S_CBRANCH_SCC0 %bb.2, implicit $scc 1169 S_BRANCH %bb.1 1170 1171 bb.1: 1172 successors: %bb.2(0x80000000) 1173 1174 bb.2: 1175 S_ENDPGM 0 1176 1177... 1178 1179--- 1180name: and_1_cmp_lg_i32_1 1181body: | 1182 ; GCN-LABEL: name: and_1_cmp_lg_i32_1 1183 ; GCN: bb.0: 1184 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1185 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1186 ; GCN: S_BITCMP0_B32 killed [[COPY]], 0, implicit-def $scc 1187 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1188 ; GCN: S_BRANCH %bb.1 1189 ; GCN: bb.1: 1190 ; GCN: successors: %bb.2(0x80000000) 1191 ; GCN: bb.2: 1192 ; GCN: S_ENDPGM 0 1193 bb.0: 1194 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1195 liveins: $sgpr0, $vgpr0_vgpr1 1196 1197 %0:sreg_32 = COPY $sgpr0 1198 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 1199 S_CMP_LG_I32 killed %1:sreg_32, 1, implicit-def $scc 1200 S_CBRANCH_SCC0 %bb.2, implicit $scc 1201 S_BRANCH %bb.1 1202 1203 bb.1: 1204 successors: %bb.2(0x80000000) 1205 1206 bb.2: 1207 S_ENDPGM 0 1208 1209... 1210 1211--- 1212name: and_1_cmp_lg_u64_1 1213body: | 1214 ; GCN-LABEL: name: and_1_cmp_lg_u64_1 1215 ; GCN: bb.0: 1216 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1217 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 1218 ; GCN: S_BITCMP0_B64 killed [[COPY]], 0, implicit-def $scc 1219 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1220 ; GCN: S_BRANCH %bb.1 1221 ; GCN: bb.1: 1222 ; GCN: successors: %bb.2(0x80000000) 1223 ; GCN: bb.2: 1224 ; GCN: S_ENDPGM 0 1225 bb.0: 1226 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1227 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1 1228 1229 %0:sreg_64 = COPY $sgpr0_sgpr1 1230 %1:sreg_64 = S_AND_B64 1, killed %0, implicit-def dead $scc 1231 S_CMP_LG_U64 killed %1:sreg_64, 1, implicit-def $scc 1232 S_CBRANCH_SCC0 %bb.2, implicit $scc 1233 S_BRANCH %bb.1 1234 1235 bb.1: 1236 successors: %bb.2(0x80000000) 1237 1238 bb.2: 1239 S_ENDPGM 0 1240 1241... 1242 1243--- 1244name: and_1_cmp_eq_u32_0_used_and 1245body: | 1246 ; GCN-LABEL: name: and_1_cmp_eq_u32_0_used_and 1247 ; GCN: bb.0: 1248 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1249 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1250 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc 1251 ; GCN: S_CMP_EQ_U32 killed [[S_AND_B32_]], 0, implicit-def $scc 1252 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1253 ; GCN: S_BRANCH %bb.1 1254 ; GCN: bb.1: 1255 ; GCN: successors: %bb.2(0x80000000) 1256 ; GCN: S_NOP 0, implicit [[S_AND_B32_]] 1257 ; GCN: bb.2: 1258 ; GCN: S_ENDPGM 0 1259 bb.0: 1260 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1261 liveins: $sgpr0, $vgpr0_vgpr1 1262 1263 %0:sreg_32 = COPY $sgpr0 1264 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 1265 S_CMP_EQ_U32 killed %1:sreg_32, 0, implicit-def $scc 1266 S_CBRANCH_SCC0 %bb.2, implicit $scc 1267 S_BRANCH %bb.1 1268 1269 bb.1: 1270 successors: %bb.2(0x80000000) 1271 1272 S_NOP 0, implicit %1 1273 bb.2: 1274 S_ENDPGM 0 1275 1276... 1277 1278--- 1279name: and_1_cmp_ge_u32_0 1280body: | 1281 ; GCN-LABEL: name: and_1_cmp_ge_u32_0 1282 ; GCN: bb.0: 1283 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1284 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1285 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc 1286 ; GCN: S_CMP_GE_U32 killed [[S_AND_B32_]], 0, implicit-def $scc 1287 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1288 ; GCN: S_BRANCH %bb.1 1289 ; GCN: bb.1: 1290 ; GCN: successors: %bb.2(0x80000000) 1291 ; GCN: bb.2: 1292 ; GCN: S_ENDPGM 0 1293 bb.0: 1294 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1295 liveins: $sgpr0, $vgpr0_vgpr1 1296 1297 %0:sreg_32 = COPY $sgpr0 1298 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 1299 S_CMP_GE_U32 killed %1:sreg_32, 0, implicit-def $scc 1300 S_CBRANCH_SCC0 %bb.2, implicit $scc 1301 S_BRANCH %bb.1 1302 1303 bb.1: 1304 successors: %bb.2(0x80000000) 1305 1306 bb.2: 1307 S_ENDPGM 0 1308 1309... 1310 1311--- 1312name: and_1_cmp_gt_u32_1 1313body: | 1314 ; GCN-LABEL: name: and_1_cmp_gt_u32_1 1315 ; GCN: bb.0: 1316 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1317 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1318 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 1, killed [[COPY]], implicit-def dead $scc 1319 ; GCN: S_CMP_GT_U32 killed [[S_AND_B32_]], 1, implicit-def $scc 1320 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1321 ; GCN: S_BRANCH %bb.1 1322 ; GCN: bb.1: 1323 ; GCN: successors: %bb.2(0x80000000) 1324 ; GCN: bb.2: 1325 ; GCN: S_ENDPGM 0 1326 bb.0: 1327 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1328 liveins: $sgpr0, $vgpr0_vgpr1 1329 1330 %0:sreg_32 = COPY $sgpr0 1331 %1:sreg_32 = S_AND_B32 1, killed %0, implicit-def dead $scc 1332 S_CMP_GT_U32 killed %1:sreg_32, 1, implicit-def $scc 1333 S_CBRANCH_SCC0 %bb.2, implicit $scc 1334 S_BRANCH %bb.1 1335 1336 bb.1: 1337 successors: %bb.2(0x80000000) 1338 1339 bb.2: 1340 S_ENDPGM 0 1341 1342... 1343 1344--- 1345name: and_1_folded_src0_cmp_eq_u32_1_folded_src2 1346body: | 1347 ; GCN-LABEL: name: and_1_folded_src0_cmp_eq_u32_1_folded_src2 1348 ; GCN: bb.0: 1349 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1350 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1351 ; GCN: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 1 1352 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 1353 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1354 ; GCN: S_BRANCH %bb.1 1355 ; GCN: bb.1: 1356 ; GCN: successors: %bb.2(0x80000000) 1357 ; GCN: bb.2: 1358 ; GCN: S_ENDPGM 0 1359 bb.0: 1360 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1361 liveins: $sgpr0, $vgpr0_vgpr1 1362 1363 %0:sreg_32 = COPY $sgpr0 1364 %1:sreg_32 = S_MOV_B32 1 1365 %2:sreg_32 = S_AND_B32 %1, killed %0, implicit-def dead $scc 1366 S_CMP_EQ_U32 killed %2:sreg_32, %1, implicit-def $scc 1367 S_CBRANCH_SCC0 %bb.2, implicit $scc 1368 S_BRANCH %bb.1 1369 1370 bb.1: 1371 successors: %bb.2(0x80000000) 1372 1373 bb.2: 1374 S_ENDPGM 0 1375 1376... 1377 1378--- 1379name: and_1_folded_src1_cmp_eq_u32_1_folded_src2 1380body: | 1381 ; GCN-LABEL: name: and_1_folded_src1_cmp_eq_u32_1_folded_src2 1382 ; GCN: bb.0: 1383 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1384 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1385 ; GCN: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 1 1386 ; GCN: S_BITCMP1_B32 killed [[COPY]], 0, implicit-def $scc 1387 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1388 ; GCN: S_BRANCH %bb.1 1389 ; GCN: bb.1: 1390 ; GCN: successors: %bb.2(0x80000000) 1391 ; GCN: bb.2: 1392 ; GCN: S_ENDPGM 0 1393 bb.0: 1394 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1395 liveins: $sgpr0, $vgpr0_vgpr1 1396 1397 %0:sreg_32 = COPY $sgpr0 1398 %1:sreg_32 = S_MOV_B32 1 1399 %2:sreg_32 = S_AND_B32 killed %0, %1, implicit-def dead $scc 1400 S_CMP_EQ_U32 killed %2:sreg_32, %1, implicit-def $scc 1401 S_CBRANCH_SCC0 %bb.2, implicit $scc 1402 S_BRANCH %bb.1 1403 1404 bb.1: 1405 successors: %bb.2(0x80000000) 1406 1407 bb.2: 1408 S_ENDPGM 0 1409 1410... 1411 1412--- 1413name: and_1_folded_src1_cmp_eq_u64_1_folded_src2 1414body: | 1415 ; GCN-LABEL: name: and_1_folded_src1_cmp_eq_u64_1_folded_src2 1416 ; GCN: bb.0: 1417 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1418 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 1419 ; GCN: [[S_MOV_B64_:%[0-9]+]]:sreg_64 = S_MOV_B64 1 1420 ; GCN: S_BITCMP1_B64 killed [[COPY]], 0, implicit-def $scc 1421 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1422 ; GCN: S_BRANCH %bb.1 1423 ; GCN: bb.1: 1424 ; GCN: successors: %bb.2(0x80000000) 1425 ; GCN: bb.2: 1426 ; GCN: S_ENDPGM 0 1427 bb.0: 1428 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1429 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1 1430 1431 %0:sreg_64 = COPY $sgpr0_sgpr1 1432 %1:sreg_64 = S_MOV_B64 1 1433 %2:sreg_64 = S_AND_B64 killed %0, %1, implicit-def dead $scc 1434 S_CMP_EQ_U64 killed %2:sreg_64, %1, implicit-def $scc 1435 S_CBRANCH_SCC0 %bb.2, implicit $scc 1436 S_BRANCH %bb.1 1437 1438 bb.1: 1439 successors: %bb.2(0x80000000) 1440 1441 bb.2: 1442 S_ENDPGM 0 1443 1444... 1445 1446--- 1447name: and_1024_cmp_eq_u32_1024 1448body: | 1449 ; GCN-LABEL: name: and_1024_cmp_eq_u32_1024 1450 ; GCN: bb.0: 1451 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1452 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1453 ; GCN: S_BITCMP1_B32 killed [[COPY]], 10, implicit-def $scc 1454 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1455 ; GCN: S_BRANCH %bb.1 1456 ; GCN: bb.1: 1457 ; GCN: successors: %bb.2(0x80000000) 1458 ; GCN: bb.2: 1459 ; GCN: S_ENDPGM 0 1460 bb.0: 1461 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1462 liveins: $sgpr0, $vgpr0_vgpr1 1463 1464 %0:sreg_32 = COPY $sgpr0 1465 %1:sreg_32 = S_AND_B32 1024, killed %0, implicit-def dead $scc 1466 S_CMP_EQ_U32 killed %1:sreg_32, 1024, implicit-def $scc 1467 S_CBRANCH_SCC0 %bb.2, implicit $scc 1468 S_BRANCH %bb.1 1469 1470 bb.1: 1471 successors: %bb.2(0x80000000) 1472 1473 bb.2: 1474 S_ENDPGM 0 1475 1476... 1477 1478--- 1479name: and_0x80000000_cmp_eq_u32_0x80000000 1480body: | 1481 ; GCN-LABEL: name: and_0x80000000_cmp_eq_u32_0x80000000 1482 ; GCN: bb.0: 1483 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1484 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1485 ; GCN: S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc 1486 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1487 ; GCN: S_BRANCH %bb.1 1488 ; GCN: bb.1: 1489 ; GCN: successors: %bb.2(0x80000000) 1490 ; GCN: bb.2: 1491 ; GCN: S_ENDPGM 0 1492 bb.0: 1493 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1494 liveins: $sgpr0, $vgpr0_vgpr1 1495 1496 %0:sreg_32 = COPY $sgpr0 1497 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc 1498 S_CMP_EQ_U32 killed %1:sreg_32, 2147483648, implicit-def $scc 1499 S_CBRANCH_SCC0 %bb.2, implicit $scc 1500 S_BRANCH %bb.1 1501 1502 bb.1: 1503 successors: %bb.2(0x80000000) 1504 1505 bb.2: 1506 S_ENDPGM 0 1507 1508... 1509 1510--- 1511name: and_0x80000000_cmp_ge_u32_0x80000000 1512body: | 1513 ; GCN-LABEL: name: and_0x80000000_cmp_ge_u32_0x80000000 1514 ; GCN: bb.0: 1515 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1516 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1517 ; GCN: S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc 1518 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1519 ; GCN: S_BRANCH %bb.1 1520 ; GCN: bb.1: 1521 ; GCN: successors: %bb.2(0x80000000) 1522 ; GCN: bb.2: 1523 ; GCN: S_ENDPGM 0 1524 bb.0: 1525 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1526 liveins: $sgpr0, $vgpr0_vgpr1 1527 1528 %0:sreg_32 = COPY $sgpr0 1529 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc 1530 S_CMP_GE_U32 killed %1:sreg_32, 2147483648, implicit-def $scc 1531 S_CBRANCH_SCC0 %bb.2, implicit $scc 1532 S_BRANCH %bb.1 1533 1534 bb.1: 1535 successors: %bb.2(0x80000000) 1536 1537 bb.2: 1538 S_ENDPGM 0 1539 1540... 1541 1542--- 1543name: and_0x80000000_cmp_ge_i32_0x80000000 1544body: | 1545 ; GCN-LABEL: name: and_0x80000000_cmp_ge_i32_0x80000000 1546 ; GCN: bb.0: 1547 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1548 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1549 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 2147483648, killed [[COPY]], implicit-def dead $scc 1550 ; GCN: S_CMP_GE_I32 killed [[S_AND_B32_]], 2147483648, implicit-def $scc 1551 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1552 ; GCN: S_BRANCH %bb.1 1553 ; GCN: bb.1: 1554 ; GCN: successors: %bb.2(0x80000000) 1555 ; GCN: bb.2: 1556 ; GCN: S_ENDPGM 0 1557 bb.0: 1558 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1559 liveins: $sgpr0, $vgpr0_vgpr1 1560 1561 %0:sreg_32 = COPY $sgpr0 1562 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc 1563 S_CMP_GE_I32 killed %1:sreg_32, 2147483648, implicit-def $scc 1564 S_CBRANCH_SCC0 %bb.2, implicit $scc 1565 S_BRANCH %bb.1 1566 1567 bb.1: 1568 successors: %bb.2(0x80000000) 1569 1570 bb.2: 1571 S_ENDPGM 0 1572 1573... 1574 1575--- 1576name: and_1024_cmp_ge_i32_1024 1577body: | 1578 ; GCN-LABEL: name: and_1024_cmp_ge_i32_1024 1579 ; GCN: bb.0: 1580 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1581 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1582 ; GCN: S_BITCMP1_B32 killed [[COPY]], 10, implicit-def $scc 1583 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1584 ; GCN: S_BRANCH %bb.1 1585 ; GCN: bb.1: 1586 ; GCN: successors: %bb.2(0x80000000) 1587 ; GCN: bb.2: 1588 ; GCN: S_ENDPGM 0 1589 bb.0: 1590 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1591 liveins: $sgpr0, $vgpr0_vgpr1 1592 1593 %0:sreg_32 = COPY $sgpr0 1594 %1:sreg_32 = S_AND_B32 1024, killed %0, implicit-def dead $scc 1595 S_CMP_GE_I32 killed %1:sreg_32, 1024, implicit-def $scc 1596 S_CBRANCH_SCC0 %bb.2, implicit $scc 1597 S_BRANCH %bb.1 1598 1599 bb.1: 1600 successors: %bb.2(0x80000000) 1601 1602 bb.2: 1603 S_ENDPGM 0 1604 1605... 1606 1607--- 1608name: and_0x80000000_cmp_lg_i32_0 1609body: | 1610 ; GCN-LABEL: name: and_0x80000000_cmp_lg_i32_0 1611 ; GCN: bb.0: 1612 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1613 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1614 ; GCN: S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc 1615 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1616 ; GCN: S_BRANCH %bb.1 1617 ; GCN: bb.1: 1618 ; GCN: successors: %bb.2(0x80000000) 1619 ; GCN: bb.2: 1620 ; GCN: S_ENDPGM 0 1621 bb.0: 1622 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1623 liveins: $sgpr0, $vgpr0_vgpr1 1624 1625 %0:sreg_32 = COPY $sgpr0 1626 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc 1627 S_CMP_LG_I32 killed %1:sreg_32, 0, implicit-def $scc 1628 S_CBRANCH_SCC0 %bb.2, implicit $scc 1629 S_BRANCH %bb.1 1630 1631 bb.1: 1632 successors: %bb.2(0x80000000) 1633 1634 bb.2: 1635 S_ENDPGM 0 1636 1637... 1638 1639--- 1640name: and_0x80000000_cmp_gt_i32_0 1641body: | 1642 ; GCN-LABEL: name: and_0x80000000_cmp_gt_i32_0 1643 ; GCN: bb.0: 1644 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1645 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1646 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 2147483648, killed [[COPY]], implicit-def dead $scc 1647 ; GCN: S_CMP_GT_I32 killed [[S_AND_B32_]], 0, implicit-def $scc 1648 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1649 ; GCN: S_BRANCH %bb.1 1650 ; GCN: bb.1: 1651 ; GCN: successors: %bb.2(0x80000000) 1652 ; GCN: bb.2: 1653 ; GCN: S_ENDPGM 0 1654 bb.0: 1655 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1656 liveins: $sgpr0, $vgpr0_vgpr1 1657 1658 %0:sreg_32 = COPY $sgpr0 1659 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc 1660 S_CMP_GT_I32 killed %1:sreg_32, 0, implicit-def $scc 1661 S_CBRANCH_SCC0 %bb.2, implicit $scc 1662 S_BRANCH %bb.1 1663 1664 bb.1: 1665 successors: %bb.2(0x80000000) 1666 1667 bb.2: 1668 S_ENDPGM 0 1669 1670... 1671 1672--- 1673name: and_0x80000000_cmp_gt_u32_0 1674body: | 1675 ; GCN-LABEL: name: and_0x80000000_cmp_gt_u32_0 1676 ; GCN: bb.0: 1677 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1678 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1679 ; GCN: S_BITCMP1_B32 killed [[COPY]], 31, implicit-def $scc 1680 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1681 ; GCN: S_BRANCH %bb.1 1682 ; GCN: bb.1: 1683 ; GCN: successors: %bb.2(0x80000000) 1684 ; GCN: bb.2: 1685 ; GCN: S_ENDPGM 0 1686 bb.0: 1687 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1688 liveins: $sgpr0, $vgpr0_vgpr1 1689 1690 %0:sreg_32 = COPY $sgpr0 1691 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc 1692 S_CMP_GT_U32 killed %1:sreg_32, 0, implicit-def $scc 1693 S_CBRANCH_SCC0 %bb.2, implicit $scc 1694 S_BRANCH %bb.1 1695 1696 bb.1: 1697 successors: %bb.2(0x80000000) 1698 1699 bb.2: 1700 S_ENDPGM 0 1701 1702... 1703 1704--- 1705name: and_0x80000000_cmp_eq_u64_0x80000000 1706body: | 1707 ; GCN-LABEL: name: and_0x80000000_cmp_eq_u64_0x80000000 1708 ; GCN: bb.0: 1709 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1710 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 1711 ; GCN: S_BITCMP1_B64 killed [[COPY]], 35, implicit-def $scc 1712 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1713 ; GCN: S_BRANCH %bb.1 1714 ; GCN: bb.1: 1715 ; GCN: successors: %bb.2(0x80000000) 1716 ; GCN: bb.2: 1717 ; GCN: S_ENDPGM 0 1718 bb.0: 1719 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1720 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1 1721 1722 %0:sreg_64 = COPY $sgpr0_sgpr1 1723 %1:sreg_64 = S_AND_B64 34359738368, killed %0, implicit-def dead $scc 1724 S_CMP_EQ_U64 killed %1:sreg_64, 34359738368, implicit-def $scc 1725 S_CBRANCH_SCC0 %bb.2, implicit $scc 1726 S_BRANCH %bb.1 1727 1728 bb.1: 1729 successors: %bb.2(0x80000000) 1730 1731 bb.2: 1732 S_ENDPGM 0 1733 1734... 1735 1736--- 1737name: and_0x8000000000000000_cmp_eq_u64_0x8000000000000000 1738body: | 1739 ; GCN-LABEL: name: and_0x8000000000000000_cmp_eq_u64_0x8000000000000000 1740 ; GCN: bb.0: 1741 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1742 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 1743 ; GCN: S_BITCMP1_B64 killed [[COPY]], 63, implicit-def $scc 1744 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1745 ; GCN: S_BRANCH %bb.1 1746 ; GCN: bb.1: 1747 ; GCN: successors: %bb.2(0x80000000) 1748 ; GCN: bb.2: 1749 ; GCN: S_ENDPGM 0 1750 bb.0: 1751 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1752 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1 1753 1754 %0:sreg_64 = COPY $sgpr0_sgpr1 1755 %1:sreg_64 = S_AND_B64 9223372036854775808, killed %0, implicit-def dead $scc 1756 S_CMP_EQ_U64 killed %1:sreg_64, 9223372036854775808, implicit-def $scc 1757 S_CBRANCH_SCC0 %bb.2, implicit $scc 1758 S_BRANCH %bb.1 1759 1760 bb.1: 1761 successors: %bb.2(0x80000000) 1762 1763 bb.2: 1764 S_ENDPGM 0 1765 1766... 1767 1768--- 1769name: and_2_cmp_eq_u32_2_used_and 1770body: | 1771 ; GCN-LABEL: name: and_2_cmp_eq_u32_2_used_and 1772 ; GCN: bb.0: 1773 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1774 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1775 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 2, killed [[COPY]], implicit-def $scc 1776 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1777 ; GCN: S_BRANCH %bb.1 1778 ; GCN: bb.1: 1779 ; GCN: successors: %bb.2(0x80000000) 1780 ; GCN: S_NOP 0, implicit [[S_AND_B32_]] 1781 ; GCN: bb.2: 1782 ; GCN: S_ENDPGM 0 1783 bb.0: 1784 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1785 liveins: $sgpr0, $vgpr0_vgpr1 1786 1787 %0:sreg_32 = COPY $sgpr0 1788 %1:sreg_32 = S_AND_B32 2, killed %0, implicit-def dead $scc 1789 S_CMP_EQ_U32 killed %1:sreg_32, 2, implicit-def $scc 1790 S_CBRANCH_SCC0 %bb.2, implicit $scc 1791 S_BRANCH %bb.1 1792 1793 bb.1: 1794 successors: %bb.2(0x80000000) 1795 1796 S_NOP 0, implicit %1 1797 1798 bb.2: 1799 S_ENDPGM 0 1800 1801... 1802 1803--- 1804name: and_3_cmp_eq_u32_3 1805body: | 1806 ; GCN-LABEL: name: and_3_cmp_eq_u32_3 1807 ; GCN: bb.0: 1808 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1809 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1810 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 3, killed [[COPY]], implicit-def dead $scc 1811 ; GCN: S_CMP_EQ_U32 killed [[S_AND_B32_]], 3, implicit-def $scc 1812 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1813 ; GCN: S_BRANCH %bb.1 1814 ; GCN: bb.1: 1815 ; GCN: successors: %bb.2(0x80000000) 1816 ; GCN: bb.2: 1817 ; GCN: S_ENDPGM 0 1818 bb.0: 1819 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1820 liveins: $sgpr0, $vgpr0_vgpr1 1821 1822 %0:sreg_32 = COPY $sgpr0 1823 %1:sreg_32 = S_AND_B32 3, killed %0, implicit-def dead $scc 1824 S_CMP_EQ_U32 killed %1:sreg_32, 3, implicit-def $scc 1825 S_CBRANCH_SCC0 %bb.2, implicit $scc 1826 S_BRANCH %bb.1 1827 1828 bb.1: 1829 successors: %bb.2(0x80000000) 1830 1831 bb.2: 1832 S_ENDPGM 0 1833 1834... 1835 1836--- 1837name: and_3_cmp_lg_u32_0 1838body: | 1839 ; GCN-LABEL: name: and_3_cmp_lg_u32_0 1840 ; GCN: bb.0: 1841 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1842 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1843 ; GCN: [[S_AND_B32_:%[0-9]+]]:sreg_32 = S_AND_B32 3, killed [[COPY]], implicit-def dead $scc 1844 ; GCN: S_CMP_LG_U32 killed [[S_AND_B32_]], 0, implicit-def $scc 1845 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1846 ; GCN: S_BRANCH %bb.1 1847 ; GCN: bb.1: 1848 ; GCN: successors: %bb.2(0x80000000) 1849 ; GCN: bb.2: 1850 ; GCN: S_ENDPGM 0 1851 bb.0: 1852 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1853 liveins: $sgpr0, $vgpr0_vgpr1 1854 1855 %0:sreg_32 = COPY $sgpr0 1856 %1:sreg_32 = S_AND_B32 3, killed %0, implicit-def dead $scc 1857 S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc 1858 S_CBRANCH_SCC0 %bb.2, implicit $scc 1859 S_BRANCH %bb.1 1860 1861 bb.1: 1862 successors: %bb.2(0x80000000) 1863 1864 bb.2: 1865 S_ENDPGM 0 1866 1867... 1868 1869--- 1870name: and_4_cmp_lg_u32_0 1871body: | 1872 ; GCN-LABEL: name: and_4_cmp_lg_u32_0 1873 ; GCN: bb.0: 1874 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1875 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1876 ; GCN: S_BITCMP1_B32 killed [[COPY]], 2, implicit-def $scc 1877 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1878 ; GCN: S_BRANCH %bb.1 1879 ; GCN: bb.1: 1880 ; GCN: successors: %bb.2(0x80000000) 1881 ; GCN: bb.2: 1882 ; GCN: S_ENDPGM 0 1883 bb.0: 1884 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1885 liveins: $sgpr0, $vgpr0_vgpr1 1886 1887 %0:sreg_32 = COPY $sgpr0 1888 %1:sreg_32 = S_AND_B32 4, killed %0, implicit-def dead $scc 1889 S_CMP_LG_U32 killed %1:sreg_32, 0, implicit-def $scc 1890 S_CBRANCH_SCC0 %bb.2, implicit $scc 1891 S_BRANCH %bb.1 1892 1893 bb.1: 1894 successors: %bb.2(0x80000000) 1895 1896 bb.2: 1897 S_ENDPGM 0 1898 1899... 1900 1901--- 1902name: and_0x80000000_cmp_eq_u32_0 1903body: | 1904 ; GCN-LABEL: name: and_0x80000000_cmp_eq_u32_0 1905 ; GCN: bb.0: 1906 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1907 ; GCN: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 1908 ; GCN: S_BITCMP0_B32 killed [[COPY]], 31, implicit-def $scc 1909 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1910 ; GCN: S_BRANCH %bb.1 1911 ; GCN: bb.1: 1912 ; GCN: successors: %bb.2(0x80000000) 1913 ; GCN: bb.2: 1914 ; GCN: S_ENDPGM 0 1915 bb.0: 1916 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1917 liveins: $sgpr0, $vgpr0_vgpr1 1918 1919 %0:sreg_32 = COPY $sgpr0 1920 %1:sreg_32 = S_AND_B32 2147483648, killed %0, implicit-def dead $scc 1921 S_CMP_EQ_U32 killed %1:sreg_32, 0, implicit-def $scc 1922 S_CBRANCH_SCC0 %bb.2, implicit $scc 1923 S_BRANCH %bb.1 1924 1925 bb.1: 1926 successors: %bb.2(0x80000000) 1927 1928 bb.2: 1929 S_ENDPGM 0 1930 1931... 1932 1933--- 1934name: and_0x8000000000000000_cmp_lg_u64_0x8000000000000000 1935body: | 1936 ; GCN-LABEL: name: and_0x8000000000000000_cmp_lg_u64_0x8000000000000000 1937 ; GCN: bb.0: 1938 ; GCN: successors: %bb.1(0x40000000), %bb.2(0x40000000) 1939 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 1940 ; GCN: S_BITCMP0_B64 killed [[COPY]], 63, implicit-def $scc 1941 ; GCN: S_CBRANCH_SCC0 %bb.2, implicit $scc 1942 ; GCN: S_BRANCH %bb.1 1943 ; GCN: bb.1: 1944 ; GCN: successors: %bb.2(0x80000000) 1945 ; GCN: bb.2: 1946 ; GCN: S_ENDPGM 0 1947 bb.0: 1948 successors: %bb.1(0x40000000), %bb.2(0x40000000) 1949 liveins: $sgpr0_sgpr1, $vgpr0_vgpr1 1950 1951 %0:sreg_64 = COPY $sgpr0_sgpr1 1952 %1:sreg_64 = S_AND_B64 9223372036854775808, killed %0, implicit-def dead $scc 1953 S_CMP_LG_U64 killed %1:sreg_64, 9223372036854775808, implicit-def $scc 1954 S_CBRANCH_SCC0 %bb.2, implicit $scc 1955 S_BRANCH %bb.1 1956 1957 bb.1: 1958 successors: %bb.2(0x80000000) 1959 1960 bb.2: 1961 S_ENDPGM 0 1962 1963... 1964