brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.1 KiB · eed1aac Raw
501 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv64 -run-pass=legalizer %s -o - \3# RUN: | FileCheck %s4 5---6name:            saddo_i87body:             |8  bb.1:9    liveins: $x10, $x1110 11    ; CHECK-LABEL: name: saddo_i812    ; CHECK: liveins: $x10, $x1113    ; CHECK-NEXT: {{  $}}14    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x1015    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1116    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 5617    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)18    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)19    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)20    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)21    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[ASHR]], [[ASHR1]]22    ; CHECK-NEXT: [[SHL2:%[0-9]+]]:_(s64) = G_SHL [[ADD]], [[C]](s64)23    ; CHECK-NEXT: [[ASHR2:%[0-9]+]]:_(s64) = G_ASHR [[SHL2]], [[C]](s64)24    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[ADD]](s64), [[ASHR2]]25    ; CHECK-NEXT: $x10 = COPY [[ADD]](s64)26    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)27    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x1128    %2:_(s64) = COPY $x1029    %0:_(s8) = G_TRUNC %2(s64)30    %3:_(s64) = COPY $x1131    %1:_(s8) = G_TRUNC %3(s64)32    %4:_(s8), %5:_(s1) = G_SADDO %0, %133    %6:_(s64) = G_ANYEXT %4(s8)34    %7:_(s64) = G_ANYEXT %5(s1)35    $x10 = COPY %6(s64)36    $x11 = COPY %7(s64)37    PseudoRET implicit $x10, implicit $x1138 39...40---41name:            saddo_i1642body:             |43  bb.1:44    liveins: $x10, $x1145 46    ; CHECK-LABEL: name: saddo_i1647    ; CHECK: liveins: $x10, $x1148    ; CHECK-NEXT: {{  $}}49    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x1050    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1151    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 4852    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)53    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)54    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)55    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)56    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[ASHR]], [[ASHR1]]57    ; CHECK-NEXT: [[SHL2:%[0-9]+]]:_(s64) = G_SHL [[ADD]], [[C]](s64)58    ; CHECK-NEXT: [[ASHR2:%[0-9]+]]:_(s64) = G_ASHR [[SHL2]], [[C]](s64)59    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[ADD]](s64), [[ASHR2]]60    ; CHECK-NEXT: $x10 = COPY [[ADD]](s64)61    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)62    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x1163    %2:_(s64) = COPY $x1064    %0:_(s16) = G_TRUNC %2(s64)65    %3:_(s64) = COPY $x1166    %1:_(s16) = G_TRUNC %3(s64)67    %4:_(s16), %5:_(s1) = G_SADDO %0, %168    %6:_(s64) = G_ANYEXT %4(s16)69    %7:_(s64) = G_ANYEXT %5(s1)70    $x10 = COPY %6(s64)71    $x11 = COPY %7(s64)72    PseudoRET implicit $x10, implicit $x1173 74...75---76name:            saddo_i3277body:             |78  bb.1:79    liveins: $x10, $x1180 81    ; CHECK-LABEL: name: saddo_i3282    ; CHECK: liveins: $x10, $x1183    ; CHECK-NEXT: {{  $}}84    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x1085    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1186    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 3287    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 3288    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[SEXT_INREG]], [[SEXT_INREG1]]89    ; CHECK-NEXT: [[SEXT_INREG2:%[0-9]+]]:_(s64) = G_SEXT_INREG [[ADD]], 3290    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[ADD]](s64), [[SEXT_INREG2]]91    ; CHECK-NEXT: $x10 = COPY [[ADD]](s64)92    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)93    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x1194    %2:_(s64) = COPY $x1095    %0:_(s32) = G_TRUNC %2(s64)96    %3:_(s64) = COPY $x1197    %1:_(s32) = G_TRUNC %3(s64)98    %4:_(s32), %5:_(s1) = G_SADDO %0, %199    %6:_(s64) = G_ANYEXT %4(s32)100    %7:_(s64) = G_ANYEXT %5(s1)101    $x10 = COPY %6(s64)102    $x11 = COPY %7(s64)103    PseudoRET implicit $x10, implicit $x11104 105...106---107name:            saddo_i64108body:             |109  bb.1:110    liveins: $x10, $x11111 112    ; CHECK-LABEL: name: saddo_i64113    ; CHECK: liveins: $x10, $x11114    ; CHECK-NEXT: {{  $}}115    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10116    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11117    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[COPY]], [[COPY1]]118    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0119    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(slt), [[ADD]](s64), [[COPY]]120    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(slt), [[COPY1]](s64), [[C]]121    ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s64) = G_XOR [[ICMP1]], [[ICMP]]122    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s64) = COPY [[ADD]](s64)123    ; CHECK-NEXT: $x10 = COPY [[COPY2]](s64)124    ; CHECK-NEXT: $x11 = COPY [[XOR]](s64)125    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11126    %0:_(s64) = COPY $x10127    %1:_(s64) = COPY $x11128    %2:_(s64), %3:_(s1) = G_SADDO %0, %1129    %4:_(s64) = G_ANYEXT %3(s1)130    $x10 = COPY %2(s64)131    $x11 = COPY %4(s64)132    PseudoRET implicit $x10, implicit $x11133 134...135---136name:            ssubo_i8137body:             |138  bb.1:139    liveins: $x10, $x11140 141    ; CHECK-LABEL: name: ssubo_i8142    ; CHECK: liveins: $x10, $x11143    ; CHECK-NEXT: {{  $}}144    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10145    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11146    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 56147    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)148    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)149    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)150    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)151    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB [[ASHR]], [[ASHR1]]152    ; CHECK-NEXT: [[SHL2:%[0-9]+]]:_(s64) = G_SHL [[SUB]], [[C]](s64)153    ; CHECK-NEXT: [[ASHR2:%[0-9]+]]:_(s64) = G_ASHR [[SHL2]], [[C]](s64)154    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[SUB]](s64), [[ASHR2]]155    ; CHECK-NEXT: $x10 = COPY [[SUB]](s64)156    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)157    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11158    %2:_(s64) = COPY $x10159    %0:_(s8) = G_TRUNC %2(s64)160    %3:_(s64) = COPY $x11161    %1:_(s8) = G_TRUNC %3(s64)162    %4:_(s8), %5:_(s1) = G_SSUBO %0, %1163    %6:_(s64) = G_ANYEXT %4(s8)164    %7:_(s64) = G_ANYEXT %5(s1)165    $x10 = COPY %6(s64)166    $x11 = COPY %7(s64)167    PseudoRET implicit $x10, implicit $x11168 169...170---171name:            ssubo_i16172body:             |173  bb.1:174    liveins: $x10, $x11175 176    ; CHECK-LABEL: name: ssubo_i16177    ; CHECK: liveins: $x10, $x11178    ; CHECK-NEXT: {{  $}}179    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10180    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11181    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 48182    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)183    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)184    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)185    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)186    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB [[ASHR]], [[ASHR1]]187    ; CHECK-NEXT: [[SHL2:%[0-9]+]]:_(s64) = G_SHL [[SUB]], [[C]](s64)188    ; CHECK-NEXT: [[ASHR2:%[0-9]+]]:_(s64) = G_ASHR [[SHL2]], [[C]](s64)189    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[SUB]](s64), [[ASHR2]]190    ; CHECK-NEXT: $x10 = COPY [[SUB]](s64)191    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)192    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11193    %2:_(s64) = COPY $x10194    %0:_(s16) = G_TRUNC %2(s64)195    %3:_(s64) = COPY $x11196    %1:_(s16) = G_TRUNC %3(s64)197    %4:_(s16), %5:_(s1) = G_SSUBO %0, %1198    %6:_(s64) = G_ANYEXT %4(s16)199    %7:_(s64) = G_ANYEXT %5(s1)200    $x10 = COPY %6(s64)201    $x11 = COPY %7(s64)202    PseudoRET implicit $x10, implicit $x11203 204...205---206name:            ssubo_i32207body:             |208  bb.1:209    liveins: $x10, $x11210 211    ; CHECK-LABEL: name: ssubo_i32212    ; CHECK: liveins: $x10, $x11213    ; CHECK-NEXT: {{  $}}214    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10215    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11216    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 32217    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 32218    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB [[SEXT_INREG]], [[SEXT_INREG1]]219    ; CHECK-NEXT: [[SEXT_INREG2:%[0-9]+]]:_(s64) = G_SEXT_INREG [[SUB]], 32220    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[SUB]](s64), [[SEXT_INREG2]]221    ; CHECK-NEXT: $x10 = COPY [[SUB]](s64)222    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)223    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11224    %2:_(s64) = COPY $x10225    %0:_(s32) = G_TRUNC %2(s64)226    %3:_(s64) = COPY $x11227    %1:_(s32) = G_TRUNC %3(s64)228    %4:_(s32), %5:_(s1) = G_SSUBO %0, %1229    %6:_(s64) = G_ANYEXT %4(s32)230    %7:_(s64) = G_ANYEXT %5(s1)231    $x10 = COPY %6(s64)232    $x11 = COPY %7(s64)233    PseudoRET implicit $x10, implicit $x11234 235...236---237name:            ssubo_i64238body:             |239  bb.1:240    liveins: $x10, $x11241 242    ; CHECK-LABEL: name: ssubo_i64243    ; CHECK: liveins: $x10, $x11244    ; CHECK-NEXT: {{  $}}245    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10246    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11247    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB [[COPY]], [[COPY1]]248    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0249    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(slt), [[SUB]](s64), [[COPY]]250    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(sgt), [[COPY1]](s64), [[C]]251    ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s64) = G_XOR [[ICMP1]], [[ICMP]]252    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s64) = COPY [[SUB]](s64)253    ; CHECK-NEXT: $x10 = COPY [[COPY2]](s64)254    ; CHECK-NEXT: $x11 = COPY [[XOR]](s64)255    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11256    %0:_(s64) = COPY $x10257    %1:_(s64) = COPY $x11258    %2:_(s64), %3:_(s1) = G_SSUBO %0, %1259    %4:_(s64) = G_ANYEXT %3(s1)260    $x10 = COPY %2(s64)261    $x11 = COPY %4(s64)262    PseudoRET implicit $x10, implicit $x11263 264...265---266name:            uaddo_i8267body:             |268  bb.1:269    liveins: $x10, $x11270 271    ; CHECK-LABEL: name: uaddo_i8272    ; CHECK: liveins: $x10, $x11273    ; CHECK-NEXT: {{  $}}274    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10275    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11276    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[COPY]], [[COPY1]]277    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 255278    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[ADD]], [[C]]279    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]280    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[AND]](s64), [[AND1]]281    ; CHECK-NEXT: $x10 = COPY [[ADD]](s64)282    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)283    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11284    %2:_(s64) = COPY $x10285    %0:_(s8) = G_TRUNC %2(s64)286    %3:_(s64) = COPY $x11287    %1:_(s8) = G_TRUNC %3(s64)288    %4:_(s8), %5:_(s1) = G_UADDO %0, %1289    %6:_(s64) = G_ANYEXT %4(s8)290    %7:_(s64) = G_ANYEXT %5(s1)291    $x10 = COPY %6(s64)292    $x11 = COPY %7(s64)293    PseudoRET implicit $x10, implicit $x11294 295...296---297name:            uaddo_i16298body:             |299  bb.1:300    liveins: $x10, $x11301 302    ; CHECK-LABEL: name: uaddo_i16303    ; CHECK: liveins: $x10, $x11304    ; CHECK-NEXT: {{  $}}305    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10306    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11307    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[COPY]], [[COPY1]]308    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 65535309    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[ADD]], [[C]]310    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]311    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[AND]](s64), [[AND1]]312    ; CHECK-NEXT: $x10 = COPY [[ADD]](s64)313    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)314    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11315    %2:_(s64) = COPY $x10316    %0:_(s16) = G_TRUNC %2(s64)317    %3:_(s64) = COPY $x11318    %1:_(s16) = G_TRUNC %3(s64)319    %4:_(s16), %5:_(s1) = G_UADDO %0, %1320    %6:_(s64) = G_ANYEXT %4(s16)321    %7:_(s64) = G_ANYEXT %5(s1)322    $x10 = COPY %6(s64)323    $x11 = COPY %7(s64)324    PseudoRET implicit $x10, implicit $x11325 326...327---328name:            uaddo_i32329body:             |330  bb.1:331    liveins: $x10, $x11332 333    ; CHECK-LABEL: name: uaddo_i32334    ; CHECK: liveins: $x10, $x11335    ; CHECK-NEXT: {{  $}}336    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10337    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11338    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[COPY]], [[COPY1]]339    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[ADD]], 32340    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 32341    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[SEXT_INREG]](s64), [[SEXT_INREG1]]342    ; CHECK-NEXT: $x10 = COPY [[SEXT_INREG]](s64)343    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)344    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11345    %2:_(s64) = COPY $x10346    %0:_(s32) = G_TRUNC %2(s64)347    %3:_(s64) = COPY $x11348    %1:_(s32) = G_TRUNC %3(s64)349    %4:_(s32), %5:_(s1) = G_UADDO %0, %1350    %6:_(s64) = G_ANYEXT %4(s32)351    %7:_(s64) = G_ANYEXT %5(s1)352    $x10 = COPY %6(s64)353    $x11 = COPY %7(s64)354    PseudoRET implicit $x10, implicit $x11355 356...357---358name:            uaddo_i64359body:             |360  bb.1:361    liveins: $x10, $x11362 363    ; CHECK-LABEL: name: uaddo_i64364    ; CHECK: liveins: $x10, $x11365    ; CHECK-NEXT: {{  $}}366    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10367    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11368    ; CHECK-NEXT: [[ADD:%[0-9]+]]:_(s64) = G_ADD [[COPY]], [[COPY1]]369    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[ADD]](s64), [[COPY1]]370    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s64) = COPY [[ADD]](s64)371    ; CHECK-NEXT: $x10 = COPY [[COPY2]](s64)372    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)373    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11374    %0:_(s64) = COPY $x10375    %1:_(s64) = COPY $x11376    %2:_(s64), %3:_(s1) = G_UADDO %0, %1377    %4:_(s64) = G_ANYEXT %3(s1)378    $x10 = COPY %2(s64)379    $x11 = COPY %4(s64)380    PseudoRET implicit $x10, implicit $x11381 382...383---384name:            usubo_i8385body:             |386  bb.1:387    liveins: $x10, $x11388 389    ; CHECK-LABEL: name: usubo_i8390    ; CHECK: liveins: $x10, $x11391    ; CHECK-NEXT: {{  $}}392    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10393    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11394    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB [[COPY]], [[COPY1]]395    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 255396    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]397    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]398    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[AND]](s64), [[AND1]]399    ; CHECK-NEXT: $x10 = COPY [[SUB]](s64)400    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)401    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11402    %2:_(s64) = COPY $x10403    %0:_(s8) = G_TRUNC %2(s64)404    %3:_(s64) = COPY $x11405    %1:_(s8) = G_TRUNC %3(s64)406    %4:_(s8), %5:_(s1) = G_USUBO %0, %1407    %6:_(s64) = G_ANYEXT %4(s8)408    %7:_(s64) = G_ANYEXT %5(s1)409    $x10 = COPY %6(s64)410    $x11 = COPY %7(s64)411    PseudoRET implicit $x10, implicit $x11412 413...414---415name:            usubo_i16416body:             |417  bb.1:418    liveins: $x10, $x11419 420    ; CHECK-LABEL: name: usubo_i16421    ; CHECK: liveins: $x10, $x11422    ; CHECK-NEXT: {{  $}}423    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10424    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11425    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB [[COPY]], [[COPY1]]426    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 65535427    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]428    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]429    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[AND]](s64), [[AND1]]430    ; CHECK-NEXT: $x10 = COPY [[SUB]](s64)431    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)432    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11433    %2:_(s64) = COPY $x10434    %0:_(s16) = G_TRUNC %2(s64)435    %3:_(s64) = COPY $x11436    %1:_(s16) = G_TRUNC %3(s64)437    %4:_(s16), %5:_(s1) = G_USUBO %0, %1438    %6:_(s64) = G_ANYEXT %4(s16)439    %7:_(s64) = G_ANYEXT %5(s1)440    $x10 = COPY %6(s64)441    $x11 = COPY %7(s64)442    PseudoRET implicit $x10, implicit $x11443 444...445---446name:            usubo_i32447body:             |448  bb.1:449    liveins: $x10, $x11450 451    ; CHECK-LABEL: name: usubo_i32452    ; CHECK: liveins: $x10, $x11453    ; CHECK-NEXT: {{  $}}454    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10455    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11456    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB [[COPY]], [[COPY1]]457    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[SUB]], 32458    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 32459    ; CHECK-NEXT: [[SEXT_INREG2:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 32460    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[SEXT_INREG1]](s64), [[SEXT_INREG2]]461    ; CHECK-NEXT: $x10 = COPY [[SEXT_INREG]](s64)462    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)463    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11464    %2:_(s64) = COPY $x10465    %0:_(s32) = G_TRUNC %2(s64)466    %3:_(s64) = COPY $x11467    %1:_(s32) = G_TRUNC %3(s64)468    %4:_(s32), %5:_(s1) = G_USUBO %0, %1469    %6:_(s64) = G_ANYEXT %4(s32)470    %7:_(s64) = G_ANYEXT %5(s1)471    $x10 = COPY %6(s64)472    $x11 = COPY %7(s64)473    PseudoRET implicit $x10, implicit $x11474 475...476---477name:            usubo_i64478body:             |479  bb.1:480    liveins: $x10, $x11481 482    ; CHECK-LABEL: name: usubo_i64483    ; CHECK: liveins: $x10, $x11484    ; CHECK-NEXT: {{  $}}485    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10486    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11487    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB [[COPY]], [[COPY1]]488    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[COPY]](s64), [[COPY1]]489    ; CHECK-NEXT: $x10 = COPY [[SUB]](s64)490    ; CHECK-NEXT: $x11 = COPY [[ICMP]](s64)491    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11492    %0:_(s64) = COPY $x10493    %1:_(s64) = COPY $x11494    %2:_(s64), %3:_(s1) = G_USUBO %0, %1495    %4:_(s64) = G_ANYEXT %3(s1)496    $x10 = COPY %2(s64)497    $x11 = COPY %4(s64)498    PseudoRET implicit $x10, implicit $x11499 500...501