brintos

brintos / llvm-project-archived public Read only

0
0
Text · 16.3 KiB · 90d92b6 Raw
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