604 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv64 -run-pass=instruction-select -simplify-mir -verify-machineinstrs %s -o - \3# RUN: | FileCheck -check-prefix=RV64I %s4 5---6name: sll_i327legalized: true8regBankSelected: true9tracksRegLiveness: true10body: |11 bb.0.entry:12 liveins: $x10, $x1113 14 ; RV64I-LABEL: name: sll_i3215 ; RV64I: liveins: $x10, $x1116 ; RV64I-NEXT: {{ $}}17 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1018 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1119 ; RV64I-NEXT: [[SLLW:%[0-9]+]]:gpr = SLLW [[COPY]], [[COPY1]]20 ; RV64I-NEXT: $x10 = COPY [[SLLW]]21 ; RV64I-NEXT: PseudoRET implicit $x1022 %0:gprb(s64) = COPY $x1023 %1:gprb(s64) = COPY $x1124 %2:gprb(s64) = G_SLLW %0, %125 $x10 = COPY %2(s64)26 PseudoRET implicit $x1027 28...29---30name: slli_i3231legalized: true32regBankSelected: true33tracksRegLiveness: true34body: |35 bb.0.entry:36 liveins: $x1037 38 ; RV64I-LABEL: name: slli_i3239 ; RV64I: liveins: $x1040 ; RV64I-NEXT: {{ $}}41 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1042 ; RV64I-NEXT: [[SLLI:%[0-9]+]]:gpr = SLLI [[COPY]], 3143 ; RV64I-NEXT: $x10 = COPY [[SLLI]]44 ; RV64I-NEXT: PseudoRET implicit $x1045 %0:gprb(s64) = COPY $x1046 %1:gprb(s64) = G_CONSTANT i64 3147 %2:gprb(s64) = G_SHL %0, %148 $x10 = COPY %2(s64)49 PseudoRET implicit $x1050 51...52---53name: sra_i3254legalized: true55regBankSelected: true56tracksRegLiveness: true57body: |58 bb.0.entry:59 liveins: $x10, $x1160 61 ; RV64I-LABEL: name: sra_i3262 ; RV64I: liveins: $x10, $x1163 ; RV64I-NEXT: {{ $}}64 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1065 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1166 ; RV64I-NEXT: [[SRAW:%[0-9]+]]:gpr = SRAW [[COPY]], [[COPY1]]67 ; RV64I-NEXT: $x10 = COPY [[SRAW]]68 ; RV64I-NEXT: PseudoRET implicit $x1069 %0:gprb(s64) = COPY $x1070 %1:gprb(s64) = COPY $x1171 %2:gprb(s64) = G_SRAW %0, %172 $x10 = COPY %2(s64)73 PseudoRET implicit $x1074 75...76---77name: srai_i3278legalized: true79regBankSelected: true80tracksRegLiveness: true81body: |82 bb.0.entry:83 liveins: $x1084 85 ; RV64I-LABEL: name: srai_i3286 ; RV64I: liveins: $x1087 ; RV64I-NEXT: {{ $}}88 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1089 ; RV64I-NEXT: [[SRAIW:%[0-9]+]]:gpr = SRAIW [[COPY]], 3190 ; RV64I-NEXT: $x10 = COPY [[SRAIW]]91 ; RV64I-NEXT: PseudoRET implicit $x1092 %0:gprb(s64) = COPY $x1093 %1:gprb(s64) = G_CONSTANT i64 3194 %2:gprb(s64) = G_SEXT_INREG %0, 3295 %3:gprb(s64) = G_ASHR %2, %1(s64)96 $x10 = COPY %3(s64)97 PseudoRET implicit $x1098 99...100---101name: srl_i32102legalized: true103regBankSelected: true104tracksRegLiveness: true105body: |106 bb.0.entry:107 liveins: $x10, $x11108 109 ; RV64I-LABEL: name: srl_i32110 ; RV64I: liveins: $x10, $x11111 ; RV64I-NEXT: {{ $}}112 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10113 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11114 ; RV64I-NEXT: [[SRLW:%[0-9]+]]:gpr = SRLW [[COPY]], [[COPY1]]115 ; RV64I-NEXT: $x10 = COPY [[SRLW]]116 ; RV64I-NEXT: PseudoRET implicit $x10117 %0:gprb(s64) = COPY $x10118 %1:gprb(s64) = COPY $x11119 %2:gprb(s64) = G_SRLW %0, %1120 $x10 = COPY %2(s64)121 PseudoRET implicit $x10122 123...124---125name: srli_i32126legalized: true127regBankSelected: true128tracksRegLiveness: true129body: |130 bb.0.entry:131 liveins: $x10132 133 ; RV64I-LABEL: name: srli_i32134 ; RV64I: liveins: $x10135 ; RV64I-NEXT: {{ $}}136 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10137 ; RV64I-NEXT: [[SRLIW:%[0-9]+]]:gpr = SRLIW [[COPY]], 31138 ; RV64I-NEXT: $x10 = COPY [[SRLIW]]139 ; RV64I-NEXT: PseudoRET implicit $x10140 %0:gprb(s64) = COPY $x10141 %1:gprb(s64) = G_CONSTANT i64 31142 %2:gprb(s64) = G_CONSTANT i64 4294967295143 %3:gprb(s64) = G_AND %0, %2144 %4:gprb(s64) = G_LSHR %3, %1(s64)145 $x10 = COPY %4(s64)146 PseudoRET implicit $x10147 148...149---150name: add_i64151legalized: true152regBankSelected: true153tracksRegLiveness: true154body: |155 bb.0.entry:156 liveins: $x10, $x11157 158 ; RV64I-LABEL: name: add_i64159 ; RV64I: liveins: $x10, $x11160 ; RV64I-NEXT: {{ $}}161 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10162 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11163 ; RV64I-NEXT: [[ADD:%[0-9]+]]:gpr = ADD [[COPY]], [[COPY1]]164 ; RV64I-NEXT: $x10 = COPY [[ADD]]165 ; RV64I-NEXT: PseudoRET implicit $x10166 %0:gprb(s64) = COPY $x10167 %1:gprb(s64) = COPY $x11168 %2:gprb(s64) = G_ADD %0, %1169 $x10 = COPY %2(s64)170 PseudoRET implicit $x10171 172...173---174name: addi_i64175legalized: true176regBankSelected: true177tracksRegLiveness: true178body: |179 bb.0.entry:180 liveins: $x10181 182 ; RV64I-LABEL: name: addi_i64183 ; RV64I: liveins: $x10184 ; RV64I-NEXT: {{ $}}185 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10186 ; RV64I-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI [[COPY]], 1234187 ; RV64I-NEXT: $x10 = COPY [[ADDI]]188 ; RV64I-NEXT: PseudoRET implicit $x10189 %0:gprb(s64) = COPY $x10190 %1:gprb(s64) = G_CONSTANT i64 1234191 %2:gprb(s64) = G_ADD %0, %1192 $x10 = COPY %2(s64)193 PseudoRET implicit $x10194 195...196---197name: sub_i64198legalized: true199regBankSelected: true200tracksRegLiveness: true201body: |202 bb.0.entry:203 liveins: $x10, $x11204 205 ; RV64I-LABEL: name: sub_i64206 ; RV64I: liveins: $x10, $x11207 ; RV64I-NEXT: {{ $}}208 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10209 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11210 ; RV64I-NEXT: [[SUB:%[0-9]+]]:gpr = SUB [[COPY]], [[COPY1]]211 ; RV64I-NEXT: $x10 = COPY [[SUB]]212 ; RV64I-NEXT: PseudoRET implicit $x10213 %0:gprb(s64) = COPY $x10214 %1:gprb(s64) = COPY $x11215 %2:gprb(s64) = G_SUB %0, %1216 $x10 = COPY %2(s64)217 PseudoRET implicit $x10218 219...220---221name: subi_i64222legalized: true223regBankSelected: true224tracksRegLiveness: true225body: |226 bb.0.entry:227 liveins: $x10228 229 ; RV64I-LABEL: name: subi_i64230 ; RV64I: liveins: $x10231 ; RV64I-NEXT: {{ $}}232 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10233 ; RV64I-NEXT: [[ADDI:%[0-9]+]]:gpr = ADDI $x0, -1234234 ; RV64I-NEXT: [[SUB:%[0-9]+]]:gpr = SUB [[COPY]], [[ADDI]]235 ; RV64I-NEXT: $x10 = COPY [[SUB]]236 ; RV64I-NEXT: PseudoRET implicit $x10237 %0:gprb(s64) = COPY $x10238 %1:gprb(s64) = G_CONSTANT i64 -1234239 %2:gprb(s64) = G_SUB %0, %1240 $x10 = COPY %2(s64)241 PseudoRET implicit $x10242 243...244---245name: sll_i64246legalized: true247regBankSelected: true248tracksRegLiveness: true249body: |250 bb.0.entry:251 liveins: $x10, $x11252 253 ; RV64I-LABEL: name: sll_i64254 ; RV64I: liveins: $x10, $x11255 ; RV64I-NEXT: {{ $}}256 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10257 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11258 ; RV64I-NEXT: [[SLL:%[0-9]+]]:gpr = SLL [[COPY]], [[COPY1]]259 ; RV64I-NEXT: $x10 = COPY [[SLL]]260 ; RV64I-NEXT: PseudoRET implicit $x10261 %0:gprb(s64) = COPY $x10262 %1:gprb(s64) = COPY $x11263 %2:gprb(s64) = G_SHL %0, %1264 $x10 = COPY %2(s64)265 PseudoRET implicit $x10266 267...268---269name: slli_i64270legalized: true271regBankSelected: true272tracksRegLiveness: true273body: |274 bb.0.entry:275 liveins: $x10276 277 ; RV64I-LABEL: name: slli_i64278 ; RV64I: liveins: $x10279 ; RV64I-NEXT: {{ $}}280 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10281 ; RV64I-NEXT: [[SLLI:%[0-9]+]]:gpr = SLLI [[COPY]], 63282 ; RV64I-NEXT: $x10 = COPY [[SLLI]]283 ; RV64I-NEXT: PseudoRET implicit $x10284 %0:gprb(s64) = COPY $x10285 %1:gprb(s64) = G_CONSTANT i64 63286 %2:gprb(s64) = G_SHL %0, %1287 $x10 = COPY %2(s64)288 PseudoRET implicit $x10289 290...291---292name: sra_i64293legalized: true294regBankSelected: true295tracksRegLiveness: true296body: |297 bb.0.entry:298 liveins: $x10, $x11299 300 ; RV64I-LABEL: name: sra_i64301 ; RV64I: liveins: $x10, $x11302 ; RV64I-NEXT: {{ $}}303 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10304 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11305 ; RV64I-NEXT: [[SRA:%[0-9]+]]:gpr = SRA [[COPY]], [[COPY1]]306 ; RV64I-NEXT: $x10 = COPY [[SRA]]307 ; RV64I-NEXT: PseudoRET implicit $x10308 %0:gprb(s64) = COPY $x10309 %1:gprb(s64) = COPY $x11310 %2:gprb(s64) = G_ASHR %0, %1311 $x10 = COPY %2(s64)312 PseudoRET implicit $x10313 314...315---316name: srai_i64317legalized: true318regBankSelected: true319tracksRegLiveness: true320body: |321 bb.0.entry:322 liveins: $x10323 324 ; RV64I-LABEL: name: srai_i64325 ; RV64I: liveins: $x10326 ; RV64I-NEXT: {{ $}}327 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10328 ; RV64I-NEXT: [[SRAI:%[0-9]+]]:gpr = SRAI [[COPY]], 63329 ; RV64I-NEXT: $x10 = COPY [[SRAI]]330 ; RV64I-NEXT: PseudoRET implicit $x10331 %0:gprb(s64) = COPY $x10332 %1:gprb(s64) = G_CONSTANT i64 63333 %2:gprb(s64) = G_ASHR %0, %1334 $x10 = COPY %2(s64)335 PseudoRET implicit $x10336 337...338---339name: lshr_i64340legalized: true341regBankSelected: true342tracksRegLiveness: true343body: |344 bb.0.entry:345 liveins: $x10, $x11346 347 ; RV64I-LABEL: name: lshr_i64348 ; RV64I: liveins: $x10, $x11349 ; RV64I-NEXT: {{ $}}350 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10351 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11352 ; RV64I-NEXT: [[SRL:%[0-9]+]]:gpr = SRL [[COPY]], [[COPY1]]353 ; RV64I-NEXT: $x10 = COPY [[SRL]]354 ; RV64I-NEXT: PseudoRET implicit $x10355 %0:gprb(s64) = COPY $x10356 %1:gprb(s64) = COPY $x11357 %2:gprb(s64) = G_LSHR %0, %1358 $x10 = COPY %2(s64)359 PseudoRET implicit $x10360 361...362---363name: srli_i64364legalized: true365regBankSelected: true366tracksRegLiveness: true367body: |368 bb.0.entry:369 liveins: $x10370 371 ; RV64I-LABEL: name: srli_i64372 ; RV64I: liveins: $x10373 ; RV64I-NEXT: {{ $}}374 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10375 ; RV64I-NEXT: [[SRLI:%[0-9]+]]:gpr = SRLI [[COPY]], 63376 ; RV64I-NEXT: $x10 = COPY [[SRLI]]377 ; RV64I-NEXT: PseudoRET implicit $x10378 %0:gprb(s64) = COPY $x10379 %1:gprb(s64) = G_CONSTANT i64 63380 %2:gprb(s64) = G_LSHR %0, %1381 $x10 = COPY %2(s64)382 PseudoRET implicit $x10383 384...385---386name: and_i64387legalized: true388regBankSelected: true389tracksRegLiveness: true390body: |391 bb.0.entry:392 liveins: $x10, $x11393 394 ; RV64I-LABEL: name: and_i64395 ; RV64I: liveins: $x10, $x11396 ; RV64I-NEXT: {{ $}}397 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10398 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11399 ; RV64I-NEXT: [[AND:%[0-9]+]]:gpr = AND [[COPY]], [[COPY1]]400 ; RV64I-NEXT: $x10 = COPY [[AND]]401 ; RV64I-NEXT: PseudoRET implicit $x10402 %0:gprb(s64) = COPY $x10403 %1:gprb(s64) = COPY $x11404 %2:gprb(s64) = G_AND %0, %1405 $x10 = COPY %2(s64)406 PseudoRET implicit $x10407 408...409---410name: andi_i64411legalized: true412regBankSelected: true413tracksRegLiveness: true414body: |415 bb.0.entry:416 liveins: $x10417 418 ; RV64I-LABEL: name: andi_i64419 ; RV64I: liveins: $x10420 ; RV64I-NEXT: {{ $}}421 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10422 ; RV64I-NEXT: [[ANDI:%[0-9]+]]:gpr = ANDI [[COPY]], 1234423 ; RV64I-NEXT: $x10 = COPY [[ANDI]]424 ; RV64I-NEXT: PseudoRET implicit $x10425 %0:gprb(s64) = COPY $x10426 %1:gprb(s64) = G_CONSTANT i64 1234427 %2:gprb(s64) = G_AND %0, %1428 $x10 = COPY %2(s64)429 PseudoRET implicit $x10430 431...432---433name: or_i64434legalized: true435regBankSelected: true436tracksRegLiveness: true437body: |438 bb.0.entry:439 liveins: $x10, $x11440 441 ; RV64I-LABEL: name: or_i64442 ; RV64I: liveins: $x10, $x11443 ; RV64I-NEXT: {{ $}}444 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10445 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11446 ; RV64I-NEXT: [[OR:%[0-9]+]]:gpr = OR [[COPY]], [[COPY1]]447 ; RV64I-NEXT: $x10 = COPY [[OR]]448 ; RV64I-NEXT: PseudoRET implicit $x10449 %0:gprb(s64) = COPY $x10450 %1:gprb(s64) = COPY $x11451 %2:gprb(s64) = G_OR %0, %1452 $x10 = COPY %2(s64)453 PseudoRET implicit $x10454 455...456---457name: ori_i64458legalized: true459regBankSelected: true460tracksRegLiveness: true461body: |462 bb.0.entry:463 liveins: $x10464 465 ; RV64I-LABEL: name: ori_i64466 ; RV64I: liveins: $x10467 ; RV64I-NEXT: {{ $}}468 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10469 ; RV64I-NEXT: [[ORI:%[0-9]+]]:gpr = ORI [[COPY]], 1234470 ; RV64I-NEXT: $x10 = COPY [[ORI]]471 ; RV64I-NEXT: PseudoRET implicit $x10472 %0:gprb(s64) = COPY $x10473 %1:gprb(s64) = G_CONSTANT i64 1234474 %2:gprb(s64) = G_OR %0, %1475 $x10 = COPY %2(s64)476 PseudoRET implicit $x10477 478...479---480name: xor_i64481legalized: true482regBankSelected: true483tracksRegLiveness: true484body: |485 bb.0.entry:486 liveins: $x10, $x11487 488 ; RV64I-LABEL: name: xor_i64489 ; RV64I: liveins: $x10, $x11490 ; RV64I-NEXT: {{ $}}491 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10492 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11493 ; RV64I-NEXT: [[XOR:%[0-9]+]]:gpr = XOR [[COPY]], [[COPY1]]494 ; RV64I-NEXT: $x10 = COPY [[XOR]]495 ; RV64I-NEXT: PseudoRET implicit $x10496 %0:gprb(s64) = COPY $x10497 %1:gprb(s64) = COPY $x11498 %2:gprb(s64) = G_XOR %0, %1499 $x10 = COPY %2(s64)500 PseudoRET implicit $x10501 502...503---504name: xori_i64505legalized: true506regBankSelected: true507tracksRegLiveness: true508body: |509 bb.0.entry:510 liveins: $x10511 512 ; RV64I-LABEL: name: xori_i64513 ; RV64I: liveins: $x10514 ; RV64I-NEXT: {{ $}}515 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10516 ; RV64I-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[COPY]], 1234517 ; RV64I-NEXT: $x10 = COPY [[XORI]]518 ; RV64I-NEXT: PseudoRET implicit $x10519 %0:gprb(s64) = COPY $x10520 %1:gprb(s64) = G_CONSTANT i64 1234521 %2:gprb(s64) = G_XOR %0, %1522 $x10 = COPY %2(s64)523 PseudoRET implicit $x10524 525...526---527name: add_i128528legalized: true529regBankSelected: true530tracksRegLiveness: true531body: |532 bb.0.entry:533 liveins: $x10, $x11, $x12, $x13534 535 ; RV64I-LABEL: name: add_i128536 ; RV64I: liveins: $x10, $x11, $x12, $x13537 ; RV64I-NEXT: {{ $}}538 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10539 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11540 ; RV64I-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x12541 ; RV64I-NEXT: [[COPY3:%[0-9]+]]:gpr = COPY $x13542 ; RV64I-NEXT: [[ADD:%[0-9]+]]:gpr = ADD [[COPY]], [[COPY2]]543 ; RV64I-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[ADD]], [[COPY2]]544 ; RV64I-NEXT: [[ADD1:%[0-9]+]]:gpr = ADD [[COPY1]], [[COPY3]]545 ; RV64I-NEXT: [[ANDI:%[0-9]+]]:gpr = ANDI [[SLTU]], 1546 ; RV64I-NEXT: [[ADD2:%[0-9]+]]:gpr = ADD [[ADD1]], [[ANDI]]547 ; RV64I-NEXT: $x10 = COPY [[ADD]]548 ; RV64I-NEXT: $x11 = COPY [[ADD2]]549 ; RV64I-NEXT: PseudoRET implicit $x10, implicit $x11550 %0:gprb(s64) = COPY $x10551 %1:gprb(s64) = COPY $x11552 %2:gprb(s64) = COPY $x12553 %3:gprb(s64) = COPY $x13554 %4:gprb(s64) = G_ADD %0, %2555 %5:gprb(s64) = G_ICMP intpred(ult), %4(s64), %2556 %6:gprb(s64) = G_ADD %1, %3557 %7:gprb(s64) = G_CONSTANT i64 1558 %8:gprb(s64) = G_AND %5, %7559 %9:gprb(s64) = G_ADD %6, %8560 $x10 = COPY %4(s64)561 $x11 = COPY %9(s64)562 PseudoRET implicit $x10, implicit $x11563 564...565---566name: sub_i128567legalized: true568regBankSelected: true569tracksRegLiveness: true570body: |571 bb.0.entry:572 liveins: $x10, $x11, $x12, $x13573 574 ; RV64I-LABEL: name: sub_i128575 ; RV64I: liveins: $x10, $x11, $x12, $x13576 ; RV64I-NEXT: {{ $}}577 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10578 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11579 ; RV64I-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x12580 ; RV64I-NEXT: [[COPY3:%[0-9]+]]:gpr = COPY $x13581 ; RV64I-NEXT: [[SUB:%[0-9]+]]:gpr = SUB [[COPY]], [[COPY2]]582 ; RV64I-NEXT: [[SLTU:%[0-9]+]]:gpr = SLTU [[COPY]], [[COPY2]]583 ; RV64I-NEXT: [[SUB1:%[0-9]+]]:gpr = SUB [[COPY1]], [[COPY3]]584 ; RV64I-NEXT: [[ANDI:%[0-9]+]]:gpr = ANDI [[SLTU]], 1585 ; RV64I-NEXT: [[SUB2:%[0-9]+]]:gpr = SUB [[SUB1]], [[ANDI]]586 ; RV64I-NEXT: $x10 = COPY [[SUB]]587 ; RV64I-NEXT: $x11 = COPY [[SUB2]]588 ; RV64I-NEXT: PseudoRET implicit $x10, implicit $x11589 %0:gprb(s64) = COPY $x10590 %1:gprb(s64) = COPY $x11591 %2:gprb(s64) = COPY $x12592 %3:gprb(s64) = COPY $x13593 %4:gprb(s64) = G_SUB %0, %2594 %5:gprb(s64) = G_ICMP intpred(ult), %0(s64), %2595 %6:gprb(s64) = G_SUB %1, %3596 %7:gprb(s64) = G_CONSTANT i64 1597 %8:gprb(s64) = G_AND %5, %7598 %9:gprb(s64) = G_SUB %6, %8599 $x10 = COPY %4(s64)600 $x11 = COPY %9(s64)601 PseudoRET implicit $x10, implicit $x11602 603...604