brintos

brintos / llvm-project-archived public Read only

0
0
Text · 67.7 KiB · d7b9a4a Raw
1804 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---5name:            cmp_sgt_i86body:             |7  bb.0.entry:8    ; CHECK-LABEL: name: cmp_sgt_i89    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x1010    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1111    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 5612    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)13    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)14    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)15    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)16    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sgt), [[ASHR]](s64), [[ASHR1]]17    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)18    ; CHECK-NEXT: PseudoRET implicit $x1019    %0:_(s64) = COPY $x1020    %1:_(s64) = COPY $x1121    %2:_(s8) = G_TRUNC %0(s64)22    %3:_(s8) = G_TRUNC %1(s64)23    %4:_(s1) = G_ICMP intpred(sgt), %2(s8), %324    %5:_(s64) = G_ANYEXT %4(s1)25    $x10 = COPY %5(s64)26    PseudoRET implicit $x1027 28...29---30name:            cmp_sgt_i1531body:             |32  bb.0.entry:33    ; CHECK-LABEL: name: cmp_sgt_i1534    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x1035    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1136    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 4937    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)38    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)39    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)40    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)41    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sgt), [[ASHR]](s64), [[ASHR1]]42    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)43    ; CHECK-NEXT: PseudoRET implicit $x1044    %0:_(s64) = COPY $x1045    %1:_(s64) = COPY $x1146    %2:_(s15) = G_TRUNC %0(s64)47    %3:_(s15) = G_TRUNC %1(s64)48    %4:_(s1) = G_ICMP intpred(sgt), %2(s15), %349    %5:_(s64) = G_ANYEXT %4(s1)50    $x10 = COPY %5(s64)51    PseudoRET implicit $x1052 53...54---55name:            cmp_sgt_i1656body:             |57  bb.0.entry:58    ; CHECK-LABEL: name: cmp_sgt_i1659    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x1060    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1161    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 4862    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)63    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)64    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)65    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)66    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sgt), [[ASHR]](s64), [[ASHR1]]67    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)68    ; CHECK-NEXT: PseudoRET implicit $x1069    %0:_(s64) = COPY $x1070    %1:_(s64) = COPY $x1171    %2:_(s16) = G_TRUNC %0(s64)72    %3:_(s16) = G_TRUNC %1(s64)73    %4:_(s1) = G_ICMP intpred(sgt), %2(s16), %374    %5:_(s64) = G_ANYEXT %4(s1)75    $x10 = COPY %5(s64)76    PseudoRET implicit $x1077 78...79---80name:            cmp_sgt_i3281body:             |82  bb.0.entry:83    ; CHECK-LABEL: name: cmp_sgt_i3284    ; CHECK: [[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: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sgt), [[SEXT_INREG]](s64), [[SEXT_INREG1]]89    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)90    ; CHECK-NEXT: PseudoRET implicit $x1091    %0:_(s64) = COPY $x1092    %1:_(s64) = COPY $x1193    %2:_(s32) = G_TRUNC %0(s64)94    %3:_(s32) = G_TRUNC %1(s64)95    %4:_(s1) = G_ICMP intpred(sgt), %2(s32), %396    %5:_(s64) = G_ANYEXT %4(s1)97    $x10 = COPY %5(s64)98    PseudoRET implicit $x1099 100...101---102name:            cmp_sgt_i64103body:             |104  bb.0.entry:105    ; CHECK-LABEL: name: cmp_sgt_i64106    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10107    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11108    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sgt), [[COPY]](s64), [[COPY1]]109    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)110    ; CHECK-NEXT: PseudoRET implicit $x10111    %0:_(s64) = COPY $x10112    %1:_(s64) = COPY $x11113    %2:_(s1) = G_ICMP intpred(sgt), %0(s64), %1114    %3:_(s64) = G_ANYEXT %2(s1)115    $x10 = COPY %3(s64)116    PseudoRET implicit $x10117 118...119---120name:            cmp_sgt_i72121body:             |122  bb.0.entry:123    ; CHECK-LABEL: name: cmp_sgt_i72124    ; CHECK: %xhi:_(s64) = COPY $x10125    ; CHECK-NEXT: %xlo:_(s64) = COPY $x11126    ; CHECK-NEXT: %yhi:_(s64) = COPY $x12127    ; CHECK-NEXT: %ylo:_(s64) = COPY $x13128    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 56129    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL %xlo, [[C]](s64)130    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)131    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL %ylo, [[C]](s64)132    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)133    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ugt), %xhi(s64), %yhi134    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(sgt), [[ASHR]](s64), [[ASHR1]]135    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[ASHR]](s64), [[ASHR1]]136    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)137    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)138    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]139    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)140    ; CHECK-NEXT: $x10 = COPY %z0(s64)141    ; CHECK-NEXT: PseudoRET implicit $x10142    %xhi:_(s64) = COPY $x10143    %xlo:_(s64) = COPY $x11144    %yhi:_(s64) = COPY $x12145    %ylo:_(s64) = COPY $x13146    %x0:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)147    %y0:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)148    %x:_(s72) = G_TRUNC %x0(s128)149    %y:_(s72) = G_TRUNC %y0(s128)150    %z:_(s1) = G_ICMP intpred(sgt), %x, %y151    %z0:_(s64) = G_ANYEXT %z(s1)152    $x10 = COPY %z0(s64)153    PseudoRET implicit $x10154 155...156---157name:            cmp_sgt_i128158body:             |159  bb.0.entry:160    ; CHECK-LABEL: name: cmp_sgt_i128161    ; CHECK: %xhi:_(s64) = COPY $x10162    ; CHECK-NEXT: %xlo:_(s64) = COPY $x11163    ; CHECK-NEXT: %yhi:_(s64) = COPY $x12164    ; CHECK-NEXT: %ylo:_(s64) = COPY $x13165    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ugt), %xhi(s64), %yhi166    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(sgt), %xlo(s64), %ylo167    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %xlo(s64), %ylo168    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)169    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)170    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]171    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)172    ; CHECK-NEXT: $x10 = COPY %z0(s64)173    ; CHECK-NEXT: PseudoRET implicit $x10174    %xhi:_(s64) = COPY $x10175    %xlo:_(s64) = COPY $x11176    %yhi:_(s64) = COPY $x12177    %ylo:_(s64) = COPY $x13178    %x:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)179    %y:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)180    %z:_(s1) = G_ICMP intpred(sgt), %x, %y181    %z0:_(s64) = G_ANYEXT %z(s1)182    $x10 = COPY %z0(s64)183    PseudoRET implicit $x10184 185...186---187name:            cmp_slt_i8188body:             |189  bb.0.entry:190    ; CHECK-LABEL: name: cmp_slt_i8191    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10192    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11193    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 56194    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)195    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)196    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)197    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)198    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(slt), [[ASHR]](s64), [[ASHR1]]199    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)200    ; CHECK-NEXT: PseudoRET implicit $x10201    %0:_(s64) = COPY $x10202    %1:_(s64) = COPY $x11203    %2:_(s8) = G_TRUNC %0(s64)204    %3:_(s8) = G_TRUNC %1(s64)205    %4:_(s1) = G_ICMP intpred(slt), %2(s8), %3206    %5:_(s64) = G_ANYEXT %4(s1)207    $x10 = COPY %5(s64)208    PseudoRET implicit $x10209 210...211---212name:            cmp_slt_i15213body:             |214  bb.0.entry:215    ; CHECK-LABEL: name: cmp_slt_i15216    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10217    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11218    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 49219    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)220    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)221    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)222    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)223    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(slt), [[ASHR]](s64), [[ASHR1]]224    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)225    ; CHECK-NEXT: PseudoRET implicit $x10226    %0:_(s64) = COPY $x10227    %1:_(s64) = COPY $x11228    %2:_(s15) = G_TRUNC %0(s64)229    %3:_(s15) = G_TRUNC %1(s64)230    %4:_(s1) = G_ICMP intpred(slt), %2(s15), %3231    %5:_(s64) = G_ANYEXT %4(s1)232    $x10 = COPY %5(s64)233    PseudoRET implicit $x10234 235...236---237name:            cmp_slt_i16238body:             |239  bb.0.entry:240    ; CHECK-LABEL: name: cmp_slt_i16241    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10242    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11243    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 48244    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)245    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)246    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)247    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)248    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(slt), [[ASHR]](s64), [[ASHR1]]249    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)250    ; CHECK-NEXT: PseudoRET implicit $x10251    %0:_(s64) = COPY $x10252    %1:_(s64) = COPY $x11253    %2:_(s16) = G_TRUNC %0(s64)254    %3:_(s16) = G_TRUNC %1(s64)255    %4:_(s1) = G_ICMP intpred(slt), %2(s16), %3256    %5:_(s64) = G_ANYEXT %4(s1)257    $x10 = COPY %5(s64)258    PseudoRET implicit $x10259 260...261---262name:            cmp_slt_i32263body:             |264  bb.0.entry:265    ; CHECK-LABEL: name: cmp_slt_i32266    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10267    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11268    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 32269    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 32270    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(slt), [[SEXT_INREG]](s64), [[SEXT_INREG1]]271    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)272    ; CHECK-NEXT: PseudoRET implicit $x10273    %0:_(s64) = COPY $x10274    %1:_(s64) = COPY $x11275    %2:_(s32) = G_TRUNC %0(s64)276    %3:_(s32) = G_TRUNC %1(s64)277    %4:_(s1) = G_ICMP intpred(slt), %2(s32), %3278    %5:_(s64) = G_ANYEXT %4(s1)279    $x10 = COPY %5(s64)280    PseudoRET implicit $x10281 282...283---284name:            cmp_slt_i64285body:             |286  bb.0.entry:287    ; CHECK-LABEL: name: cmp_slt_i64288    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10289    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11290    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(slt), [[COPY]](s64), [[COPY1]]291    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)292    ; CHECK-NEXT: PseudoRET implicit $x10293    %0:_(s64) = COPY $x10294    %1:_(s64) = COPY $x11295    %2:_(s1) = G_ICMP intpred(slt), %0(s64), %1296    %3:_(s64) = G_ANYEXT %2(s1)297    $x10 = COPY %3(s64)298    PseudoRET implicit $x10299 300...301---302name:            cmp_slt_i72303body:             |304  bb.0.entry:305    ; CHECK-LABEL: name: cmp_slt_i72306    ; CHECK: %xhi:_(s64) = COPY $x10307    ; CHECK-NEXT: %xlo:_(s64) = COPY $x11308    ; CHECK-NEXT: %yhi:_(s64) = COPY $x12309    ; CHECK-NEXT: %ylo:_(s64) = COPY $x13310    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 56311    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL %xlo, [[C]](s64)312    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)313    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL %ylo, [[C]](s64)314    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)315    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), %xhi(s64), %yhi316    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(sge), [[ASHR]](s64), [[ASHR1]]317    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[ASHR]](s64), [[ASHR1]]318    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)319    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)320    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]321    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)322    ; CHECK-NEXT: $x10 = COPY %z0(s64)323    ; CHECK-NEXT: PseudoRET implicit $x10324    %xhi:_(s64) = COPY $x10325    %xlo:_(s64) = COPY $x11326    %yhi:_(s64) = COPY $x12327    %ylo:_(s64) = COPY $x13328    %x0:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)329    %y0:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)330    %x:_(s72) = G_TRUNC %x0(s128)331    %y:_(s72) = G_TRUNC %y0(s128)332    %z:_(s1) = G_ICMP intpred(sge), %x, %y333    %z0:_(s64) = G_ANYEXT %z(s1)334    $x10 = COPY %z0(s64)335    PseudoRET implicit $x10336 337...338---339name:            cmp_slt_i128340body:             |341  bb.0.entry:342    ; CHECK-LABEL: name: cmp_slt_i128343    ; CHECK: %xhi:_(s64) = COPY $x10344    ; CHECK-NEXT: %xlo:_(s64) = COPY $x11345    ; CHECK-NEXT: %yhi:_(s64) = COPY $x12346    ; CHECK-NEXT: %ylo:_(s64) = COPY $x13347    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), %xhi(s64), %yhi348    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(slt), %xlo(s64), %ylo349    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %xlo(s64), %ylo350    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)351    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)352    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]353    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)354    ; CHECK-NEXT: $x10 = COPY %z0(s64)355    ; CHECK-NEXT: PseudoRET implicit $x10356    %xhi:_(s64) = COPY $x10357    %xlo:_(s64) = COPY $x11358    %yhi:_(s64) = COPY $x12359    %ylo:_(s64) = COPY $x13360    %x:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)361    %y:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)362    %z:_(s1) = G_ICMP intpred(slt), %x, %y363    %z0:_(s64) = G_ANYEXT %z(s1)364    $x10 = COPY %z0(s64)365    PseudoRET implicit $x10366 367...368---369name:            cmp_sge_i8370body:             |371  bb.0.entry:372    ; CHECK-LABEL: name: cmp_sge_i8373    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10374    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11375    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 56376    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)377    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)378    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)379    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)380    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sge), [[ASHR]](s64), [[ASHR1]]381    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)382    ; CHECK-NEXT: PseudoRET implicit $x10383    %0:_(s64) = COPY $x10384    %1:_(s64) = COPY $x11385    %2:_(s8) = G_TRUNC %0(s64)386    %3:_(s8) = G_TRUNC %1(s64)387    %4:_(s1) = G_ICMP intpred(sge), %2(s8), %3388    %5:_(s64) = G_ANYEXT %4(s1)389    $x10 = COPY %5(s64)390    PseudoRET implicit $x10391 392...393---394name:            cmp_sge_i15395body:             |396  bb.0.entry:397    ; CHECK-LABEL: name: cmp_sge_i15398    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10399    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11400    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 49401    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)402    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)403    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)404    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)405    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sge), [[ASHR]](s64), [[ASHR1]]406    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)407    ; CHECK-NEXT: PseudoRET implicit $x10408    %0:_(s64) = COPY $x10409    %1:_(s64) = COPY $x11410    %2:_(s15) = G_TRUNC %0(s64)411    %3:_(s15) = G_TRUNC %1(s64)412    %4:_(s1) = G_ICMP intpred(sge), %2(s15), %3413    %5:_(s64) = G_ANYEXT %4(s1)414    $x10 = COPY %5(s64)415    PseudoRET implicit $x10416 417...418---419name:            cmp_sge_i16420body:             |421  bb.0.entry:422    ; CHECK-LABEL: name: cmp_sge_i16423    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10424    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11425    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 48426    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)427    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)428    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)429    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)430    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sge), [[ASHR]](s64), [[ASHR1]]431    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)432    ; CHECK-NEXT: PseudoRET implicit $x10433    %0:_(s64) = COPY $x10434    %1:_(s64) = COPY $x11435    %2:_(s16) = G_TRUNC %0(s64)436    %3:_(s16) = G_TRUNC %1(s64)437    %4:_(s1) = G_ICMP intpred(sge), %2(s16), %3438    %5:_(s64) = G_ANYEXT %4(s1)439    $x10 = COPY %5(s64)440    PseudoRET implicit $x10441 442...443---444name:            cmp_sge_i32445body:             |446  bb.0.entry:447    ; CHECK-LABEL: name: cmp_sge_i32448    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10449    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11450    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 32451    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 32452    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sge), [[SEXT_INREG]](s64), [[SEXT_INREG1]]453    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)454    ; CHECK-NEXT: PseudoRET implicit $x10455    %0:_(s64) = COPY $x10456    %1:_(s64) = COPY $x11457    %2:_(s32) = G_TRUNC %0(s64)458    %3:_(s32) = G_TRUNC %1(s64)459    %4:_(s1) = G_ICMP intpred(sge), %2(s32), %3460    %5:_(s64) = G_ANYEXT %4(s1)461    $x10 = COPY %5(s64)462    PseudoRET implicit $x10463 464...465---466name:            cmp_sge_i64467body:             |468  bb.0.entry:469    ; CHECK-LABEL: name: cmp_sge_i64470    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10471    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11472    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sge), [[COPY]](s64), [[COPY1]]473    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)474    ; CHECK-NEXT: PseudoRET implicit $x10475    %0:_(s64) = COPY $x10476    %1:_(s64) = COPY $x11477    %2:_(s1) = G_ICMP intpred(sge), %0(s64), %1478    %3:_(s64) = G_ANYEXT %2(s1)479    $x10 = COPY %3(s64)480    PseudoRET implicit $x10481 482...483---484name:            cmp_sge_i72485body:             |486  bb.0.entry:487    ; CHECK-LABEL: name: cmp_sge_i72488    ; CHECK: %xhi:_(s64) = COPY $x10489    ; CHECK-NEXT: %xlo:_(s64) = COPY $x11490    ; CHECK-NEXT: %yhi:_(s64) = COPY $x12491    ; CHECK-NEXT: %ylo:_(s64) = COPY $x13492    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 56493    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL %xlo, [[C]](s64)494    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)495    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL %ylo, [[C]](s64)496    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)497    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), %xhi(s64), %yhi498    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(sge), [[ASHR]](s64), [[ASHR1]]499    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[ASHR]](s64), [[ASHR1]]500    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)501    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)502    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]503    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)504    ; CHECK-NEXT: $x10 = COPY %z0(s64)505    ; CHECK-NEXT: PseudoRET implicit $x10506    %xhi:_(s64) = COPY $x10507    %xlo:_(s64) = COPY $x11508    %yhi:_(s64) = COPY $x12509    %ylo:_(s64) = COPY $x13510    %x0:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)511    %y0:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)512    %x:_(s72) = G_TRUNC %x0(s128)513    %y:_(s72) = G_TRUNC %y0(s128)514    %z:_(s1) = G_ICMP intpred(sge), %x, %y515    %z0:_(s64) = G_ANYEXT %z(s1)516    $x10 = COPY %z0(s64)517    PseudoRET implicit $x10518 519...520---521name:            cmp_sge_i128522body:             |523  bb.0.entry:524    ; CHECK-LABEL: name: cmp_sge_i128525    ; CHECK: %xhi:_(s64) = COPY $x10526    ; CHECK-NEXT: %xlo:_(s64) = COPY $x11527    ; CHECK-NEXT: %yhi:_(s64) = COPY $x12528    ; CHECK-NEXT: %ylo:_(s64) = COPY $x13529    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), %xhi(s64), %yhi530    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(sge), %xlo(s64), %ylo531    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %xlo(s64), %ylo532    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)533    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)534    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]535    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)536    ; CHECK-NEXT: $x10 = COPY %z0(s64)537    ; CHECK-NEXT: PseudoRET implicit $x10538    %xhi:_(s64) = COPY $x10539    %xlo:_(s64) = COPY $x11540    %yhi:_(s64) = COPY $x12541    %ylo:_(s64) = COPY $x13542    %x:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)543    %y:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)544    %z:_(s1) = G_ICMP intpred(sge), %x, %y545    %z0:_(s64) = G_ANYEXT %z(s1)546    $x10 = COPY %z0(s64)547    PseudoRET implicit $x10548 549...550---551name:            cmp_sle_i8552body:             |553  bb.0.entry:554    ; CHECK-LABEL: name: cmp_sle_i8555    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10556    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11557    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 56558    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)559    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)560    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)561    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)562    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sle), [[ASHR]](s64), [[ASHR1]]563    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)564    ; CHECK-NEXT: PseudoRET implicit $x10565    %0:_(s64) = COPY $x10566    %1:_(s64) = COPY $x11567    %2:_(s8) = G_TRUNC %0(s64)568    %3:_(s8) = G_TRUNC %1(s64)569    %4:_(s1) = G_ICMP intpred(sle), %2(s8), %3570    %5:_(s64) = G_ANYEXT %4(s1)571    $x10 = COPY %5(s64)572    PseudoRET implicit $x10573 574...575---576name:            cmp_sle_i15577body:             |578  bb.0.entry:579    ; CHECK-LABEL: name: cmp_sle_i15580    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10581    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11582    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 49583    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)584    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)585    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)586    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)587    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sle), [[ASHR]](s64), [[ASHR1]]588    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)589    ; CHECK-NEXT: PseudoRET implicit $x10590    %0:_(s64) = COPY $x10591    %1:_(s64) = COPY $x11592    %2:_(s15) = G_TRUNC %0(s64)593    %3:_(s15) = G_TRUNC %1(s64)594    %4:_(s1) = G_ICMP intpred(sle), %2(s15), %3595    %5:_(s64) = G_ANYEXT %4(s1)596    $x10 = COPY %5(s64)597    PseudoRET implicit $x10598 599...600---601name:            cmp_sle_i16602body:             |603  bb.0.entry:604    ; CHECK-LABEL: name: cmp_sle_i16605    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10606    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11607    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 48608    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)609    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)610    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL [[COPY1]], [[C]](s64)611    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)612    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sle), [[ASHR]](s64), [[ASHR1]]613    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)614    ; CHECK-NEXT: PseudoRET implicit $x10615    %0:_(s64) = COPY $x10616    %1:_(s64) = COPY $x11617    %2:_(s16) = G_TRUNC %0(s64)618    %3:_(s16) = G_TRUNC %1(s64)619    %4:_(s1) = G_ICMP intpred(sle), %2(s16), %3620    %5:_(s64) = G_ANYEXT %4(s1)621    $x10 = COPY %5(s64)622    PseudoRET implicit $x10623 624...625---626name:            cmp_sle_i32627body:             |628  bb.0.entry:629    ; CHECK-LABEL: name: cmp_sle_i32630    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10631    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11632    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 32633    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 32634    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sle), [[SEXT_INREG]](s64), [[SEXT_INREG1]]635    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)636    ; CHECK-NEXT: PseudoRET implicit $x10637    %0:_(s64) = COPY $x10638    %1:_(s64) = COPY $x11639    %2:_(s32) = G_TRUNC %0(s64)640    %3:_(s32) = G_TRUNC %1(s64)641    %4:_(s1) = G_ICMP intpred(sle), %2(s32), %3642    %5:_(s64) = G_ANYEXT %4(s1)643    $x10 = COPY %5(s64)644    PseudoRET implicit $x10645 646...647---648name:            cmp_sle_i64649body:             |650  bb.0.entry:651    ; CHECK-LABEL: name: cmp_sle_i64652    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10653    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11654    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(sle), [[COPY]](s64), [[COPY1]]655    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)656    ; CHECK-NEXT: PseudoRET implicit $x10657    %0:_(s64) = COPY $x10658    %1:_(s64) = COPY $x11659    %2:_(s1) = G_ICMP intpred(sle), %0(s64), %1660    %3:_(s64) = G_ANYEXT %2(s1)661    $x10 = COPY %3(s64)662    PseudoRET implicit $x10663 664...665---666name:            cmp_sle_i72667body:             |668  bb.0.entry:669    ; CHECK-LABEL: name: cmp_sle_i72670    ; CHECK: %xhi:_(s64) = COPY $x10671    ; CHECK-NEXT: %xlo:_(s64) = COPY $x11672    ; CHECK-NEXT: %yhi:_(s64) = COPY $x12673    ; CHECK-NEXT: %ylo:_(s64) = COPY $x13674    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 56675    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL %xlo, [[C]](s64)676    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)677    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL %ylo, [[C]](s64)678    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s64) = G_ASHR [[SHL1]], [[C]](s64)679    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ule), %xhi(s64), %yhi680    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(sle), [[ASHR]](s64), [[ASHR1]]681    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[ASHR]](s64), [[ASHR1]]682    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)683    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)684    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]685    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)686    ; CHECK-NEXT: $x10 = COPY %z0(s64)687    ; CHECK-NEXT: PseudoRET implicit $x10688    %xhi:_(s64) = COPY $x10689    %xlo:_(s64) = COPY $x11690    %yhi:_(s64) = COPY $x12691    %ylo:_(s64) = COPY $x13692    %x0:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)693    %y0:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)694    %x:_(s72) = G_TRUNC %x0(s128)695    %y:_(s72) = G_TRUNC %y0(s128)696    %z:_(s1) = G_ICMP intpred(sle), %x, %y697    %z0:_(s64) = G_ANYEXT %z(s1)698    $x10 = COPY %z0(s64)699    PseudoRET implicit $x10700 701...702---703name:            cmp_sle_i128704body:             |705  bb.0.entry:706    ; CHECK-LABEL: name: cmp_sle_i128707    ; CHECK: %xhi:_(s64) = COPY $x10708    ; CHECK-NEXT: %xlo:_(s64) = COPY $x11709    ; CHECK-NEXT: %yhi:_(s64) = COPY $x12710    ; CHECK-NEXT: %ylo:_(s64) = COPY $x13711    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ule), %xhi(s64), %yhi712    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(sle), %xlo(s64), %ylo713    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %xlo(s64), %ylo714    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)715    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)716    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]717    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)718    ; CHECK-NEXT: $x10 = COPY %z0(s64)719    ; CHECK-NEXT: PseudoRET implicit $x10720    %xhi:_(s64) = COPY $x10721    %xlo:_(s64) = COPY $x11722    %yhi:_(s64) = COPY $x12723    %ylo:_(s64) = COPY $x13724    %x:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)725    %y:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)726    %z:_(s1) = G_ICMP intpred(sle), %x, %y727    %z0:_(s64) = G_ANYEXT %z(s1)728    $x10 = COPY %z0(s64)729    PseudoRET implicit $x10730 731...732---733name:            cmp_ugt_i8734body:             |735  bb.0.entry:736    ; CHECK-LABEL: name: cmp_ugt_i8737    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10738    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11739    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 255740    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]741    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]742    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ugt), [[AND]](s64), [[AND1]]743    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)744    ; CHECK-NEXT: PseudoRET implicit $x10745    %0:_(s64) = COPY $x10746    %1:_(s64) = COPY $x11747    %2:_(s8) = G_TRUNC %0(s64)748    %3:_(s8) = G_TRUNC %1(s64)749    %4:_(s1) = G_ICMP intpred(ugt), %2(s8), %3750    %5:_(s64) = G_ANYEXT %4(s1)751    $x10 = COPY %5(s64)752    PseudoRET implicit $x10753 754...755---756name:            cmp_ugt_i15757body:             |758  bb.0.entry:759    ; CHECK-LABEL: name: cmp_ugt_i15760    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10761    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11762    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 32767763    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]764    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]765    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ugt), [[AND]](s64), [[AND1]]766    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)767    ; CHECK-NEXT: PseudoRET implicit $x10768    %0:_(s64) = COPY $x10769    %1:_(s64) = COPY $x11770    %2:_(s15) = G_TRUNC %0(s64)771    %3:_(s15) = G_TRUNC %1(s64)772    %4:_(s1) = G_ICMP intpred(ugt), %2(s15), %3773    %5:_(s64) = G_ANYEXT %4(s1)774    $x10 = COPY %5(s64)775    PseudoRET implicit $x10776 777...778---779name:            cmp_ugt_i16780body:             |781  bb.0.entry:782    ; CHECK-LABEL: name: cmp_ugt_i16783    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10784    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11785    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 65535786    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]787    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]788    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ugt), [[AND]](s64), [[AND1]]789    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)790    ; CHECK-NEXT: PseudoRET implicit $x10791    %0:_(s64) = COPY $x10792    %1:_(s64) = COPY $x11793    %2:_(s16) = G_TRUNC %0(s64)794    %3:_(s16) = G_TRUNC %1(s64)795    %4:_(s1) = G_ICMP intpred(ugt), %2(s16), %3796    %5:_(s64) = G_ANYEXT %4(s1)797    $x10 = COPY %5(s64)798    PseudoRET implicit $x10799 800...801---802name:            cmp_ugt_i32803body:             |804  bb.0.entry:805    ; CHECK-LABEL: name: cmp_ugt_i32806    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10807    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11808    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 32809    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 32810    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ugt), [[SEXT_INREG]](s64), [[SEXT_INREG1]]811    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)812    ; CHECK-NEXT: PseudoRET implicit $x10813    %0:_(s64) = COPY $x10814    %1:_(s64) = COPY $x11815    %2:_(s32) = G_TRUNC %0(s64)816    %3:_(s32) = G_TRUNC %1(s64)817    %4:_(s1) = G_ICMP intpred(ugt), %2(s32), %3818    %5:_(s64) = G_ANYEXT %4(s1)819    $x10 = COPY %5(s64)820    PseudoRET implicit $x10821 822...823---824name:            cmp_ugt_i64825body:             |826  bb.0.entry:827    ; CHECK-LABEL: name: cmp_ugt_i64828    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10829    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11830    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ugt), [[COPY]](s64), [[COPY1]]831    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)832    ; CHECK-NEXT: PseudoRET implicit $x10833    %0:_(s64) = COPY $x10834    %1:_(s64) = COPY $x11835    %2:_(s1) = G_ICMP intpred(ugt), %0(s64), %1836    %3:_(s64) = G_ANYEXT %2(s1)837    $x10 = COPY %3(s64)838    PseudoRET implicit $x10839 840...841---842name:            cmp_ugt_i72843body:             |844  bb.0.entry:845    ; CHECK-LABEL: name: cmp_ugt_i72846    ; CHECK: %xhi:_(s64) = COPY $x10847    ; CHECK-NEXT: %xlo:_(s64) = COPY $x11848    ; CHECK-NEXT: %yhi:_(s64) = COPY $x12849    ; CHECK-NEXT: %ylo:_(s64) = COPY $x13850    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -1851    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 255852    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND %xhi, [[C]]853    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND %xlo, [[C1]]854    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s64) = G_AND %yhi, [[C]]855    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s64) = G_AND %ylo, [[C1]]856    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ugt), [[AND]](s64), [[AND2]]857    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(ugt), [[AND1]](s64), [[AND3]]858    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[AND1]](s64), [[AND3]]859    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)860    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)861    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]862    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)863    ; CHECK-NEXT: $x10 = COPY %z0(s64)864    ; CHECK-NEXT: PseudoRET implicit $x10865    %xhi:_(s64) = COPY $x10866    %xlo:_(s64) = COPY $x11867    %yhi:_(s64) = COPY $x12868    %ylo:_(s64) = COPY $x13869    %x0:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)870    %y0:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)871    %x:_(s72) = G_TRUNC %x0(s128)872    %y:_(s72) = G_TRUNC %y0(s128)873    %z:_(s1) = G_ICMP intpred(ugt), %x, %y874    %z0:_(s64) = G_ANYEXT %z(s1)875    $x10 = COPY %z0(s64)876    PseudoRET implicit $x10877 878...879---880name:            cmp_ugt_i128881body:             |882  bb.0.entry:883    ; CHECK-LABEL: name: cmp_ugt_i128884    ; CHECK: %xhi:_(s64) = COPY $x10885    ; CHECK-NEXT: %xlo:_(s64) = COPY $x11886    ; CHECK-NEXT: %yhi:_(s64) = COPY $x12887    ; CHECK-NEXT: %ylo:_(s64) = COPY $x13888    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ugt), %xhi(s64), %yhi889    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(ugt), %xlo(s64), %ylo890    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %xlo(s64), %ylo891    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)892    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)893    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]894    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)895    ; CHECK-NEXT: $x10 = COPY %z0(s64)896    ; CHECK-NEXT: PseudoRET implicit $x10897    %xhi:_(s64) = COPY $x10898    %xlo:_(s64) = COPY $x11899    %yhi:_(s64) = COPY $x12900    %ylo:_(s64) = COPY $x13901    %x:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)902    %y:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)903    %z:_(s1) = G_ICMP intpred(ugt), %x, %y904    %z0:_(s64) = G_ANYEXT %z(s1)905    $x10 = COPY %z0(s64)906    PseudoRET implicit $x10907 908...909---910name:            cmp_ult_i8911body:             |912  bb.0.entry:913    ; CHECK-LABEL: name: cmp_ult_i8914    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10915    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11916    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 255917    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]918    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]919    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[AND]](s64), [[AND1]]920    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)921    ; CHECK-NEXT: PseudoRET implicit $x10922    %0:_(s64) = COPY $x10923    %1:_(s64) = COPY $x11924    %2:_(s8) = G_TRUNC %0(s64)925    %3:_(s8) = G_TRUNC %1(s64)926    %4:_(s1) = G_ICMP intpred(ult), %2(s8), %3927    %5:_(s64) = G_ANYEXT %4(s1)928    $x10 = COPY %5(s64)929    PseudoRET implicit $x10930 931...932---933name:            cmp_ult_i15934body:             |935  bb.0.entry:936    ; CHECK-LABEL: name: cmp_ult_i15937    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10938    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11939    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 32767940    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]941    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]942    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[AND]](s64), [[AND1]]943    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)944    ; CHECK-NEXT: PseudoRET implicit $x10945    %0:_(s64) = COPY $x10946    %1:_(s64) = COPY $x11947    %2:_(s15) = G_TRUNC %0(s64)948    %3:_(s15) = G_TRUNC %1(s64)949    %4:_(s1) = G_ICMP intpred(ult), %2(s15), %3950    %5:_(s64) = G_ANYEXT %4(s1)951    $x10 = COPY %5(s64)952    PseudoRET implicit $x10953 954...955---956name:            cmp_ult_i16957body:             |958  bb.0.entry:959    ; CHECK-LABEL: name: cmp_ult_i16960    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10961    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11962    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 65535963    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]964    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]965    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[AND]](s64), [[AND1]]966    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)967    ; CHECK-NEXT: PseudoRET implicit $x10968    %0:_(s64) = COPY $x10969    %1:_(s64) = COPY $x11970    %2:_(s16) = G_TRUNC %0(s64)971    %3:_(s16) = G_TRUNC %1(s64)972    %4:_(s1) = G_ICMP intpred(ult), %2(s16), %3973    %5:_(s64) = G_ANYEXT %4(s1)974    $x10 = COPY %5(s64)975    PseudoRET implicit $x10976 977...978---979name:            cmp_ult_i32980body:             |981  bb.0.entry:982    ; CHECK-LABEL: name: cmp_ult_i32983    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x10984    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11985    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 32986    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 32987    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[SEXT_INREG]](s64), [[SEXT_INREG1]]988    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)989    ; CHECK-NEXT: PseudoRET implicit $x10990    %0:_(s64) = COPY $x10991    %1:_(s64) = COPY $x11992    %2:_(s32) = G_TRUNC %0(s64)993    %3:_(s32) = G_TRUNC %1(s64)994    %4:_(s1) = G_ICMP intpred(ult), %2(s32), %3995    %5:_(s64) = G_ANYEXT %4(s1)996    $x10 = COPY %5(s64)997    PseudoRET implicit $x10998 999...1000---1001name:            cmp_ult_i641002body:             |1003  bb.0.entry:1004    ; CHECK-LABEL: name: cmp_ult_i641005    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101006    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111007    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[COPY]](s64), [[COPY1]]1008    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1009    ; CHECK-NEXT: PseudoRET implicit $x101010    %0:_(s64) = COPY $x101011    %1:_(s64) = COPY $x111012    %2:_(s1) = G_ICMP intpred(ult), %0(s64), %11013    %3:_(s64) = G_ANYEXT %2(s1)1014    $x10 = COPY %3(s64)1015    PseudoRET implicit $x101016 1017...1018---1019name:            cmp_ult_i721020body:             |1021  bb.0.entry:1022    ; CHECK-LABEL: name: cmp_ult_i721023    ; CHECK: %xhi:_(s64) = COPY $x101024    ; CHECK-NEXT: %xlo:_(s64) = COPY $x111025    ; CHECK-NEXT: %yhi:_(s64) = COPY $x121026    ; CHECK-NEXT: %ylo:_(s64) = COPY $x131027    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -11028    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 2551029    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND %xhi, [[C]]1030    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND %xlo, [[C1]]1031    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s64) = G_AND %yhi, [[C]]1032    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s64) = G_AND %ylo, [[C1]]1033    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[AND]](s64), [[AND2]]1034    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[AND1]](s64), [[AND3]]1035    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[AND1]](s64), [[AND3]]1036    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)1037    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)1038    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]1039    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)1040    ; CHECK-NEXT: $x10 = COPY %z0(s64)1041    ; CHECK-NEXT: PseudoRET implicit $x101042    %xhi:_(s64) = COPY $x101043    %xlo:_(s64) = COPY $x111044    %yhi:_(s64) = COPY $x121045    %ylo:_(s64) = COPY $x131046    %x0:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)1047    %y0:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)1048    %x:_(s72) = G_TRUNC %x0(s128)1049    %y:_(s72) = G_TRUNC %y0(s128)1050    %z:_(s1) = G_ICMP intpred(ult), %x, %y1051    %z0:_(s64) = G_ANYEXT %z(s1)1052    $x10 = COPY %z0(s64)1053    PseudoRET implicit $x101054 1055...1056---1057name:            cmp_ult_i1281058body:             |1059  bb.0.entry:1060    ; CHECK-LABEL: name: cmp_ult_i1281061    ; CHECK: %xhi:_(s64) = COPY $x101062    ; CHECK-NEXT: %xlo:_(s64) = COPY $x111063    ; CHECK-NEXT: %yhi:_(s64) = COPY $x121064    ; CHECK-NEXT: %ylo:_(s64) = COPY $x131065    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), %xhi(s64), %yhi1066    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(sge), %xlo(s64), %ylo1067    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %xlo(s64), %ylo1068    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)1069    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)1070    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]1071    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)1072    ; CHECK-NEXT: $x10 = COPY %z0(s64)1073    ; CHECK-NEXT: PseudoRET implicit $x101074    %xhi:_(s64) = COPY $x101075    %xlo:_(s64) = COPY $x111076    %yhi:_(s64) = COPY $x121077    %ylo:_(s64) = COPY $x131078    %x:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)1079    %y:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)1080    %z:_(s1) = G_ICMP intpred(sge), %x, %y1081    %z0:_(s64) = G_ANYEXT %z(s1)1082    $x10 = COPY %z0(s64)1083    PseudoRET implicit $x101084 1085...1086---1087name:            cmp_uge_i81088body:             |1089  bb.0.entry:1090    ; CHECK-LABEL: name: cmp_uge_i81091    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101092    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111093    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 2551094    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1095    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1096    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), [[AND]](s64), [[AND1]]1097    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1098    ; CHECK-NEXT: PseudoRET implicit $x101099    %0:_(s64) = COPY $x101100    %1:_(s64) = COPY $x111101    %2:_(s8) = G_TRUNC %0(s64)1102    %3:_(s8) = G_TRUNC %1(s64)1103    %4:_(s1) = G_ICMP intpred(uge), %2(s8), %31104    %5:_(s64) = G_ANYEXT %4(s1)1105    $x10 = COPY %5(s64)1106    PseudoRET implicit $x101107 1108...1109---1110name:            cmp_uge_i151111body:             |1112  bb.0.entry:1113    ; CHECK-LABEL: name: cmp_uge_i151114    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101115    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111116    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 327671117    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1118    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1119    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), [[AND]](s64), [[AND1]]1120    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1121    ; CHECK-NEXT: PseudoRET implicit $x101122    %0:_(s64) = COPY $x101123    %1:_(s64) = COPY $x111124    %2:_(s15) = G_TRUNC %0(s64)1125    %3:_(s15) = G_TRUNC %1(s64)1126    %4:_(s1) = G_ICMP intpred(uge), %2(s15), %31127    %5:_(s64) = G_ANYEXT %4(s1)1128    $x10 = COPY %5(s64)1129    PseudoRET implicit $x101130 1131...1132---1133name:            cmp_uge_i161134body:             |1135  bb.0.entry:1136    ; CHECK-LABEL: name: cmp_uge_i161137    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101138    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111139    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 655351140    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1141    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1142    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), [[AND]](s64), [[AND1]]1143    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1144    ; CHECK-NEXT: PseudoRET implicit $x101145    %0:_(s64) = COPY $x101146    %1:_(s64) = COPY $x111147    %2:_(s16) = G_TRUNC %0(s64)1148    %3:_(s16) = G_TRUNC %1(s64)1149    %4:_(s1) = G_ICMP intpred(uge), %2(s16), %31150    %5:_(s64) = G_ANYEXT %4(s1)1151    $x10 = COPY %5(s64)1152    PseudoRET implicit $x101153 1154...1155---1156name:            cmp_uge_i321157body:             |1158  bb.0.entry:1159    ; CHECK-LABEL: name: cmp_uge_i321160    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101161    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111162    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 321163    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 321164    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), [[SEXT_INREG]](s64), [[SEXT_INREG1]]1165    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1166    ; CHECK-NEXT: PseudoRET implicit $x101167    %0:_(s64) = COPY $x101168    %1:_(s64) = COPY $x111169    %2:_(s32) = G_TRUNC %0(s64)1170    %3:_(s32) = G_TRUNC %1(s64)1171    %4:_(s1) = G_ICMP intpred(uge), %2(s32), %31172    %5:_(s64) = G_ANYEXT %4(s1)1173    $x10 = COPY %5(s64)1174    PseudoRET implicit $x101175 1176...1177---1178name:            cmp_uge_i641179body:             |1180  bb.0.entry:1181    ; CHECK-LABEL: name: cmp_uge_i641182    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101183    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111184    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), [[COPY]](s64), [[COPY1]]1185    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1186    ; CHECK-NEXT: PseudoRET implicit $x101187    %0:_(s64) = COPY $x101188    %1:_(s64) = COPY $x111189    %2:_(s1) = G_ICMP intpred(uge), %0(s64), %11190    %3:_(s64) = G_ANYEXT %2(s1)1191    $x10 = COPY %3(s64)1192    PseudoRET implicit $x101193 1194...1195---1196name:            cmp_uge_i721197body:             |1198  bb.0.entry:1199    ; CHECK-LABEL: name: cmp_uge_i721200    ; CHECK: %xhi:_(s64) = COPY $x101201    ; CHECK-NEXT: %xlo:_(s64) = COPY $x111202    ; CHECK-NEXT: %yhi:_(s64) = COPY $x121203    ; CHECK-NEXT: %ylo:_(s64) = COPY $x131204    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -11205    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 2551206    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND %xhi, [[C]]1207    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND %xlo, [[C1]]1208    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s64) = G_AND %yhi, [[C]]1209    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s64) = G_AND %ylo, [[C1]]1210    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), [[AND]](s64), [[AND2]]1211    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), [[AND1]](s64), [[AND3]]1212    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[AND1]](s64), [[AND3]]1213    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)1214    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)1215    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]1216    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)1217    ; CHECK-NEXT: $x10 = COPY %z0(s64)1218    ; CHECK-NEXT: PseudoRET implicit $x101219    %xhi:_(s64) = COPY $x101220    %xlo:_(s64) = COPY $x111221    %yhi:_(s64) = COPY $x121222    %ylo:_(s64) = COPY $x131223    %x0:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)1224    %y0:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)1225    %x:_(s72) = G_TRUNC %x0(s128)1226    %y:_(s72) = G_TRUNC %y0(s128)1227    %z:_(s1) = G_ICMP intpred(uge), %x, %y1228    %z0:_(s64) = G_ANYEXT %z(s1)1229    $x10 = COPY %z0(s64)1230    PseudoRET implicit $x101231 1232...1233---1234name:            cmp_uge_i1281235body:             |1236  bb.0.entry:1237    ; CHECK-LABEL: name: cmp_uge_i1281238    ; CHECK: %xhi:_(s64) = COPY $x101239    ; CHECK-NEXT: %xlo:_(s64) = COPY $x111240    ; CHECK-NEXT: %yhi:_(s64) = COPY $x121241    ; CHECK-NEXT: %ylo:_(s64) = COPY $x131242    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), %xhi(s64), %yhi1243    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(uge), %xlo(s64), %ylo1244    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %xlo(s64), %ylo1245    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)1246    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)1247    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]1248    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)1249    ; CHECK-NEXT: $x10 = COPY %z0(s64)1250    ; CHECK-NEXT: PseudoRET implicit $x101251    %xhi:_(s64) = COPY $x101252    %xlo:_(s64) = COPY $x111253    %yhi:_(s64) = COPY $x121254    %ylo:_(s64) = COPY $x131255    %x:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)1256    %y:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)1257    %z:_(s1) = G_ICMP intpred(uge), %x, %y1258    %z0:_(s64) = G_ANYEXT %z(s1)1259    $x10 = COPY %z0(s64)1260    PseudoRET implicit $x101261 1262...1263---1264name:            cmp_ule_i81265body:             |1266  bb.0.entry:1267    ; CHECK-LABEL: name: cmp_ule_i81268    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101269    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111270    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 2551271    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1272    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1273    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ule), [[AND]](s64), [[AND1]]1274    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1275    ; CHECK-NEXT: PseudoRET implicit $x101276    %0:_(s64) = COPY $x101277    %1:_(s64) = COPY $x111278    %2:_(s8) = G_TRUNC %0(s64)1279    %3:_(s8) = G_TRUNC %1(s64)1280    %4:_(s1) = G_ICMP intpred(ule), %2(s8), %31281    %5:_(s64) = G_ANYEXT %4(s1)1282    $x10 = COPY %5(s64)1283    PseudoRET implicit $x101284 1285...1286---1287name:            cmp_ule_i151288body:             |1289  bb.0.entry:1290    ; CHECK-LABEL: name: cmp_ule_i151291    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101292    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111293    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 327671294    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1295    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1296    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ule), [[AND]](s64), [[AND1]]1297    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1298    ; CHECK-NEXT: PseudoRET implicit $x101299    %0:_(s64) = COPY $x101300    %1:_(s64) = COPY $x111301    %2:_(s15) = G_TRUNC %0(s64)1302    %3:_(s15) = G_TRUNC %1(s64)1303    %4:_(s1) = G_ICMP intpred(ule), %2(s15), %31304    %5:_(s64) = G_ANYEXT %4(s1)1305    $x10 = COPY %5(s64)1306    PseudoRET implicit $x101307 1308...1309---1310name:            cmp_ule_i161311body:             |1312  bb.0.entry:1313    ; CHECK-LABEL: name: cmp_ule_i161314    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101315    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111316    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 655351317    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1318    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1319    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ule), [[AND]](s64), [[AND1]]1320    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1321    ; CHECK-NEXT: PseudoRET implicit $x101322    %0:_(s64) = COPY $x101323    %1:_(s64) = COPY $x111324    %2:_(s16) = G_TRUNC %0(s64)1325    %3:_(s16) = G_TRUNC %1(s64)1326    %4:_(s1) = G_ICMP intpred(ule), %2(s16), %31327    %5:_(s64) = G_ANYEXT %4(s1)1328    $x10 = COPY %5(s64)1329    PseudoRET implicit $x101330 1331...1332---1333name:            cmp_ule_i321334body:             |1335  bb.0.entry:1336    ; CHECK-LABEL: name: cmp_ule_i321337    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101338    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111339    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 321340    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 321341    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ule), [[SEXT_INREG]](s64), [[SEXT_INREG1]]1342    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1343    ; CHECK-NEXT: PseudoRET implicit $x101344    %0:_(s64) = COPY $x101345    %1:_(s64) = COPY $x111346    %2:_(s32) = G_TRUNC %0(s64)1347    %3:_(s32) = G_TRUNC %1(s64)1348    %4:_(s1) = G_ICMP intpred(ule), %2(s32), %31349    %5:_(s64) = G_ANYEXT %4(s1)1350    $x10 = COPY %5(s64)1351    PseudoRET implicit $x101352 1353...1354---1355name:            cmp_ule_i641356body:             |1357  bb.0.entry:1358    ; CHECK-LABEL: name: cmp_ule_i641359    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101360    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111361    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ule), [[COPY]](s64), [[COPY1]]1362    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1363    ; CHECK-NEXT: PseudoRET implicit $x101364    %0:_(s64) = COPY $x101365    %1:_(s64) = COPY $x111366    %2:_(s1) = G_ICMP intpred(ule), %0(s64), %11367    %3:_(s64) = G_ANYEXT %2(s1)1368    $x10 = COPY %3(s64)1369    PseudoRET implicit $x101370 1371...1372---1373name:            cmp_ule_i721374body:             |1375  bb.0.entry:1376    ; CHECK-LABEL: name: cmp_ule_i721377    ; CHECK: %xhi:_(s64) = COPY $x101378    ; CHECK-NEXT: %xlo:_(s64) = COPY $x111379    ; CHECK-NEXT: %yhi:_(s64) = COPY $x121380    ; CHECK-NEXT: %ylo:_(s64) = COPY $x131381    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -11382    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 2551383    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND %xhi, [[C]]1384    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND %xlo, [[C1]]1385    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s64) = G_AND %yhi, [[C]]1386    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s64) = G_AND %ylo, [[C1]]1387    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ule), [[AND]](s64), [[AND2]]1388    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(ule), [[AND1]](s64), [[AND3]]1389    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[AND1]](s64), [[AND3]]1390    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)1391    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)1392    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]1393    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)1394    ; CHECK-NEXT: $x10 = COPY %z0(s64)1395    ; CHECK-NEXT: PseudoRET implicit $x101396    %xhi:_(s64) = COPY $x101397    %xlo:_(s64) = COPY $x111398    %yhi:_(s64) = COPY $x121399    %ylo:_(s64) = COPY $x131400    %x0:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)1401    %y0:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)1402    %x:_(s72) = G_TRUNC %x0(s128)1403    %y:_(s72) = G_TRUNC %y0(s128)1404    %z:_(s1) = G_ICMP intpred(ule), %x, %y1405    %z0:_(s64) = G_ANYEXT %z(s1)1406    $x10 = COPY %z0(s64)1407    PseudoRET implicit $x101408 1409...1410---1411name:            cmp_ule_i1281412body:             |1413  bb.0.entry:1414    ; CHECK-LABEL: name: cmp_ule_i1281415    ; CHECK: %xhi:_(s64) = COPY $x101416    ; CHECK-NEXT: %xlo:_(s64) = COPY $x111417    ; CHECK-NEXT: %yhi:_(s64) = COPY $x121418    ; CHECK-NEXT: %ylo:_(s64) = COPY $x131419    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ule), %xhi(s64), %yhi1420    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(ule), %xlo(s64), %ylo1421    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %xlo(s64), %ylo1422    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP]](s64)1423    ; CHECK-NEXT: [[TRUNC1:%[0-9]+]]:_(s32) = G_TRUNC [[ICMP1]](s64)1424    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s64), [[TRUNC]], [[TRUNC1]]1425    ; CHECK-NEXT: %z0:_(s64) = G_ANYEXT [[SELECT]](s32)1426    ; CHECK-NEXT: $x10 = COPY %z0(s64)1427    ; CHECK-NEXT: PseudoRET implicit $x101428    %xhi:_(s64) = COPY $x101429    %xlo:_(s64) = COPY $x111430    %yhi:_(s64) = COPY $x121431    %ylo:_(s64) = COPY $x131432    %x:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)1433    %y:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)1434    %z:_(s1) = G_ICMP intpred(ule), %x, %y1435    %z0:_(s64) = G_ANYEXT %z(s1)1436    $x10 = COPY %z0(s64)1437    PseudoRET implicit $x101438 1439...1440---1441name:            cmp_eq_i81442body:             |1443  bb.0.entry:1444    ; CHECK-LABEL: name: cmp_eq_i81445    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101446    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111447    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 2551448    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1449    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1450    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[AND]](s64), [[AND1]]1451    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1452    ; CHECK-NEXT: PseudoRET implicit $x101453    %0:_(s64) = COPY $x101454    %1:_(s64) = COPY $x111455    %2:_(s8) = G_TRUNC %0(s64)1456    %3:_(s8) = G_TRUNC %1(s64)1457    %4:_(s1) = G_ICMP intpred(eq), %2(s8), %31458    %5:_(s64) = G_ANYEXT %4(s1)1459    $x10 = COPY %5(s64)1460    PseudoRET implicit $x101461 1462...1463---1464name:            cmp_eq_i151465body:             |1466  bb.0.entry:1467    ; CHECK-LABEL: name: cmp_eq_i151468    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101469    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111470    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 327671471    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1472    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1473    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[AND]](s64), [[AND1]]1474    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1475    ; CHECK-NEXT: PseudoRET implicit $x101476    %0:_(s64) = COPY $x101477    %1:_(s64) = COPY $x111478    %2:_(s15) = G_TRUNC %0(s64)1479    %3:_(s15) = G_TRUNC %1(s64)1480    %4:_(s1) = G_ICMP intpred(eq), %2(s15), %31481    %5:_(s64) = G_ANYEXT %4(s1)1482    $x10 = COPY %5(s64)1483    PseudoRET implicit $x101484 1485...1486---1487name:            cmp_eq_i161488body:             |1489  bb.0.entry:1490    ; CHECK-LABEL: name: cmp_eq_i161491    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101492    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111493    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 655351494    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1495    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1496    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[AND]](s64), [[AND1]]1497    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1498    ; CHECK-NEXT: PseudoRET implicit $x101499    %0:_(s64) = COPY $x101500    %1:_(s64) = COPY $x111501    %2:_(s16) = G_TRUNC %0(s64)1502    %3:_(s16) = G_TRUNC %1(s64)1503    %4:_(s1) = G_ICMP intpred(eq), %2(s16), %31504    %5:_(s64) = G_ANYEXT %4(s1)1505    $x10 = COPY %5(s64)1506    PseudoRET implicit $x101507 1508...1509---1510name:            cmp_eq_i321511body:             |1512  bb.0.entry:1513    ; CHECK-LABEL: name: cmp_eq_i321514    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101515    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111516    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 321517    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 321518    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[SEXT_INREG]](s64), [[SEXT_INREG1]]1519    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1520    ; CHECK-NEXT: PseudoRET implicit $x101521    %0:_(s64) = COPY $x101522    %1:_(s64) = COPY $x111523    %2:_(s32) = G_TRUNC %0(s64)1524    %3:_(s32) = G_TRUNC %1(s64)1525    %4:_(s1) = G_ICMP intpred(eq), %2(s32), %31526    %5:_(s64) = G_ANYEXT %4(s1)1527    $x10 = COPY %5(s64)1528    PseudoRET implicit $x101529 1530...1531---1532name:            cmp_eq_i641533body:             |1534  bb.0.entry:1535    ; CHECK-LABEL: name: cmp_eq_i641536    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101537    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111538    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[COPY]](s64), [[COPY1]]1539    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1540    ; CHECK-NEXT: PseudoRET implicit $x101541    %0:_(s64) = COPY $x101542    %1:_(s64) = COPY $x111543    %2:_(s1) = G_ICMP intpred(eq), %0(s64), %11544    %3:_(s64) = G_ANYEXT %2(s1)1545    $x10 = COPY %3(s64)1546    PseudoRET implicit $x101547 1548...1549---1550name:            cmp_eq_i721551body:             |1552  bb.0.entry:1553    ; CHECK-LABEL: name: cmp_eq_i721554    ; CHECK: %xhi:_(s64) = COPY $x101555    ; CHECK-NEXT: %xlo:_(s64) = COPY $x111556    ; CHECK-NEXT: %yhi:_(s64) = COPY $x121557    ; CHECK-NEXT: %ylo:_(s64) = COPY $x131558    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -11559    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 2551560    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND %xhi, [[C]]1561    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND %xlo, [[C1]]1562    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s64) = G_AND %yhi, [[C]]1563    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s64) = G_AND %ylo, [[C1]]1564    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 01565    ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s64) = G_XOR [[AND]], [[AND2]]1566    ; CHECK-NEXT: [[XOR1:%[0-9]+]]:_(s64) = G_XOR [[AND1]], [[AND3]]1567    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = G_OR [[XOR]], [[XOR1]]1568    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[OR]](s64), [[C2]]1569    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1570    ; CHECK-NEXT: PseudoRET implicit $x101571    %xhi:_(s64) = COPY $x101572    %xlo:_(s64) = COPY $x111573    %yhi:_(s64) = COPY $x121574    %ylo:_(s64) = COPY $x131575    %x0:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)1576    %y0:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)1577    %x:_(s72) = G_TRUNC %x0(s128)1578    %y:_(s72) = G_TRUNC %y0(s128)1579    %z:_(s1) = G_ICMP intpred(eq), %x, %y1580    %z0:_(s64) = G_ANYEXT %z(s1)1581    $x10 = COPY %z0(s64)1582    PseudoRET implicit $x101583 1584...1585---1586name:            cmp_eq_i1281587body:             |1588  bb.0.entry:1589    ; CHECK-LABEL: name: cmp_eq_i1281590    ; CHECK: %xhi:_(s64) = COPY $x101591    ; CHECK-NEXT: %xlo:_(s64) = COPY $x111592    ; CHECK-NEXT: %yhi:_(s64) = COPY $x121593    ; CHECK-NEXT: %ylo:_(s64) = COPY $x131594    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 01595    ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s64) = G_XOR %xhi, %yhi1596    ; CHECK-NEXT: [[XOR1:%[0-9]+]]:_(s64) = G_XOR %xlo, %ylo1597    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = G_OR [[XOR]], [[XOR1]]1598    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[OR]](s64), [[C]]1599    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1600    ; CHECK-NEXT: PseudoRET implicit $x101601    %xhi:_(s64) = COPY $x101602    %xlo:_(s64) = COPY $x111603    %yhi:_(s64) = COPY $x121604    %ylo:_(s64) = COPY $x131605    %x:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)1606    %y:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)1607    %z:_(s1) = G_ICMP intpred(eq), %x, %y1608    %z0:_(s64) = G_ANYEXT %z(s1)1609    $x10 = COPY %z0(s64)1610    PseudoRET implicit $x101611 1612...1613---1614name:            cmp_ne_i81615body:             |1616  bb.0.entry:1617    ; CHECK-LABEL: name: cmp_ne_i81618    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101619    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111620    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 2551621    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1622    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1623    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[AND]](s64), [[AND1]]1624    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1625    ; CHECK-NEXT: PseudoRET implicit $x101626    %0:_(s64) = COPY $x101627    %1:_(s64) = COPY $x111628    %2:_(s8) = G_TRUNC %0(s64)1629    %3:_(s8) = G_TRUNC %1(s64)1630    %4:_(s1) = G_ICMP intpred(ne), %2(s8), %31631    %5:_(s64) = G_ANYEXT %4(s1)1632    $x10 = COPY %5(s64)1633    PseudoRET implicit $x101634 1635...1636---1637name:            cmp_ne_i151638body:             |1639  bb.0.entry:1640    ; CHECK-LABEL: name: cmp_ne_i151641    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101642    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111643    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 327671644    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1645    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1646    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[AND]](s64), [[AND1]]1647    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1648    ; CHECK-NEXT: PseudoRET implicit $x101649    %0:_(s64) = COPY $x101650    %1:_(s64) = COPY $x111651    %2:_(s15) = G_TRUNC %0(s64)1652    %3:_(s15) = G_TRUNC %1(s64)1653    %4:_(s1) = G_ICMP intpred(ne), %2(s15), %31654    %5:_(s64) = G_ANYEXT %4(s1)1655    $x10 = COPY %5(s64)1656    PseudoRET implicit $x101657 1658...1659---1660name:            cmp_ne_i161661body:             |1662  bb.0.entry:1663    ; CHECK-LABEL: name: cmp_ne_i161664    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101665    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111666    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 655351667    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]1668    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]1669    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[AND]](s64), [[AND1]]1670    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1671    ; CHECK-NEXT: PseudoRET implicit $x101672    %0:_(s64) = COPY $x101673    %1:_(s64) = COPY $x111674    %2:_(s16) = G_TRUNC %0(s64)1675    %3:_(s16) = G_TRUNC %1(s64)1676    %4:_(s1) = G_ICMP intpred(ne), %2(s16), %31677    %5:_(s64) = G_ANYEXT %4(s1)1678    $x10 = COPY %5(s64)1679    PseudoRET implicit $x101680 1681...1682---1683name:            cmp_ne_i321684body:             |1685  bb.0.entry:1686    ; CHECK-LABEL: name: cmp_ne_i321687    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101688    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111689    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 321690    ; CHECK-NEXT: [[SEXT_INREG1:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY1]], 321691    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[SEXT_INREG]](s64), [[SEXT_INREG1]]1692    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1693    ; CHECK-NEXT: PseudoRET implicit $x101694    %0:_(s64) = COPY $x101695    %1:_(s64) = COPY $x111696    %2:_(s32) = G_TRUNC %0(s64)1697    %3:_(s32) = G_TRUNC %1(s64)1698    %4:_(s1) = G_ICMP intpred(ne), %2(s32), %31699    %5:_(s64) = G_ANYEXT %4(s1)1700    $x10 = COPY %5(s64)1701    PseudoRET implicit $x101702 1703...1704---1705name:            cmp_ne_i641706body:             |1707  bb.0.entry:1708    ; CHECK-LABEL: name: cmp_ne_i641709    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x101710    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x111711    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[COPY]](s64), [[COPY1]]1712    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1713    ; CHECK-NEXT: PseudoRET implicit $x101714    %0:_(s64) = COPY $x101715    %1:_(s64) = COPY $x111716    %2:_(s1) = G_ICMP intpred(ne), %0(s64), %11717    %3:_(s64) = G_ANYEXT %2(s1)1718    $x10 = COPY %3(s64)1719    PseudoRET implicit $x101720 1721...1722---1723name:            cmp_ne_i721724body:             |1725  bb.0.entry:1726    ; CHECK-LABEL: name: cmp_ne_i721727    ; CHECK: %xhi:_(s64) = COPY $x101728    ; CHECK-NEXT: %xlo:_(s64) = COPY $x111729    ; CHECK-NEXT: %yhi:_(s64) = COPY $x121730    ; CHECK-NEXT: %ylo:_(s64) = COPY $x131731    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -11732    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 2551733    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND %xhi, [[C]]1734    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND %xlo, [[C1]]1735    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s64) = G_AND %yhi, [[C]]1736    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s64) = G_AND %ylo, [[C1]]1737    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 01738    ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s64) = G_XOR [[AND]], [[AND2]]1739    ; CHECK-NEXT: [[XOR1:%[0-9]+]]:_(s64) = G_XOR [[AND1]], [[AND3]]1740    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = G_OR [[XOR]], [[XOR1]]1741    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[OR]](s64), [[C2]]1742    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1743    ; CHECK-NEXT: PseudoRET implicit $x101744    %xhi:_(s64) = COPY $x101745    %xlo:_(s64) = COPY $x111746    %yhi:_(s64) = COPY $x121747    %ylo:_(s64) = COPY $x131748    %x0:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)1749    %y0:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)1750    %x:_(s72) = G_TRUNC %x0(s128)1751    %y:_(s72) = G_TRUNC %y0(s128)1752    %z:_(s1) = G_ICMP intpred(ne), %x, %y1753    %z0:_(s64) = G_ANYEXT %z(s1)1754    $x10 = COPY %z0(s64)1755    PseudoRET implicit $x101756 1757...1758---1759name:            cmp_ne_i1281760body:             |1761  bb.0.entry:1762    ; CHECK-LABEL: name: cmp_ne_i1281763    ; CHECK: %xhi:_(s64) = COPY $x101764    ; CHECK-NEXT: %xlo:_(s64) = COPY $x111765    ; CHECK-NEXT: %yhi:_(s64) = COPY $x121766    ; CHECK-NEXT: %ylo:_(s64) = COPY $x131767    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 01768    ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s64) = G_XOR %xhi, %yhi1769    ; CHECK-NEXT: [[XOR1:%[0-9]+]]:_(s64) = G_XOR %xlo, %ylo1770    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = G_OR [[XOR]], [[XOR1]]1771    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[OR]](s64), [[C]]1772    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1773    ; CHECK-NEXT: PseudoRET implicit $x101774    %xhi:_(s64) = COPY $x101775    %xlo:_(s64) = COPY $x111776    %yhi:_(s64) = COPY $x121777    %ylo:_(s64) = COPY $x131778    %x:_(s128) = G_MERGE_VALUES %xhi(s64), %xlo(s64)1779    %y:_(s128) = G_MERGE_VALUES %yhi(s64), %ylo(s64)1780    %z:_(s1) = G_ICMP intpred(ne), %x, %y1781    %z0:_(s64) = G_ANYEXT %z(s1)1782    $x10 = COPY %z0(s64)1783    PseudoRET implicit $x101784 1785...1786---1787name:            cmp_ne_ptr1788body:             |1789  bb.0.entry:1790    ; CHECK-LABEL: name: cmp_ne_ptr1791    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x101792    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x111793    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ne), [[COPY]](p0), [[COPY1]]1794    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s64)1795    ; CHECK-NEXT: PseudoRET implicit $x101796    %0:_(p0) = COPY $x101797    %1:_(p0) = COPY $x111798    %2:_(s1) = G_ICMP intpred(ne), %0(p0), %11799    %3:_(s64) = G_ANYEXT %2(s1)1800    $x10 = COPY %3(s64)1801    PseudoRET implicit $x101802 1803...1804