brintos

brintos / llvm-project-archived public Read only

0
0
Text · 60.0 KiB · e93f82a Raw
1586 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -run-pass=legalizer %s -o - \3# RUN: | FileCheck %s4---5name:            cmp_sgt_i76body:             |7  bb.0.entry:8    ; CHECK-LABEL: name: cmp_sgt_i79    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x1010    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x1111    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 2512    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)13    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)14    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)15    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)16    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[ASHR]](s32), [[ASHR1]]17    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)18    ; CHECK-NEXT: PseudoRET implicit $x1019    %0:_(s32) = COPY $x1020    %1:_(s32) = COPY $x1121    %2:_(s7) = G_TRUNC %0(s32)22    %3:_(s7) = G_TRUNC %1(s32)23    %4:_(s1) = G_ICMP intpred(sgt), %2(s7), %324    %5:_(s32) = G_ANYEXT %4(s1)25    $x10 = COPY %5(s32)26    PseudoRET implicit $x1027 28...29---30name:            cmp_sgt_i831body:             |32  bb.0.entry:33    ; CHECK-LABEL: name: cmp_sgt_i834    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x1035    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x1136    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 2437    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)38    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)39    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)40    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)41    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[ASHR]](s32), [[ASHR1]]42    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)43    ; CHECK-NEXT: PseudoRET implicit $x1044    %0:_(s32) = COPY $x1045    %1:_(s32) = COPY $x1146    %2:_(s8) = G_TRUNC %0(s32)47    %3:_(s8) = G_TRUNC %1(s32)48    %4:_(s1) = G_ICMP intpred(sgt), %2(s8), %349    %5:_(s32) = G_ANYEXT %4(s1)50    $x10 = COPY %5(s32)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]+]]:_(s32) = COPY $x1060    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x1161    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1662    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)63    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)64    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)65    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)66    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[ASHR]](s32), [[ASHR1]]67    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)68    ; CHECK-NEXT: PseudoRET implicit $x1069    %0:_(s32) = COPY $x1070    %1:_(s32) = COPY $x1171    %2:_(s16) = G_TRUNC %0(s32)72    %3:_(s16) = G_TRUNC %1(s32)73    %4:_(s1) = G_ICMP intpred(sgt), %2(s16), %374    %5:_(s32) = G_ANYEXT %4(s1)75    $x10 = COPY %5(s32)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]+]]:_(s32) = COPY $x1085    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x1186    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[COPY]](s32), [[COPY1]]87    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)88    ; CHECK-NEXT: PseudoRET implicit $x1089    %0:_(s32) = COPY $x1090    %1:_(s32) = COPY $x1191    %2:_(s1) = G_ICMP intpred(sgt), %0(s32), %192    %3:_(s32) = G_ANYEXT %2(s1)93    $x10 = COPY %3(s32)94    PseudoRET implicit $x1095 96...97---98name:            cmp_sgt_i4899body:             |100  bb.0.entry:101    ; CHECK-LABEL: name: cmp_sgt_i48102    ; CHECK: %xhi:_(s32) = COPY $x10103    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11104    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12105    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13106    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16107    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL %xlo, [[C]](s32)108    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)109    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL %ylo, [[C]](s32)110    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)111    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), %xhi(s32), %yhi112    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[ASHR]](s32), [[ASHR1]]113    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[ASHR]](s32), [[ASHR1]]114    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]115    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)116    ; CHECK-NEXT: PseudoRET implicit $x10117    %xhi:_(s32) = COPY $x10118    %xlo:_(s32) = COPY $x11119    %yhi:_(s32) = COPY $x12120    %ylo:_(s32) = COPY $x13121    %x0:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)122    %y0:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)123    %x:_(s48) = G_TRUNC %x0(s64)124    %y:_(s48) = G_TRUNC %y0(s64)125    %z:_(s1) = G_ICMP intpred(sgt), %x(s48), %y126    %z0:_(s32) = G_ANYEXT %z(s1)127    $x10 = COPY %z0(s32)128    PseudoRET implicit $x10129 130...131---132name:            cmp_sgt_i64133body:             |134  bb.0.entry:135    ; CHECK-LABEL: name: cmp_sgt_i64136    ; CHECK: %xhi:_(s32) = COPY $x10137    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11138    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12139    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13140    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), %xhi(s32), %yhi141    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), %xlo(s32), %ylo142    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), %xlo(s32), %ylo143    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]144    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)145    ; CHECK-NEXT: PseudoRET implicit $x10146    %xhi:_(s32) = COPY $x10147    %xlo:_(s32) = COPY $x11148    %yhi:_(s32) = COPY $x12149    %ylo:_(s32) = COPY $x13150    %x:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)151    %y:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)152    %z:_(s1) = G_ICMP intpred(sgt), %x, %y153    %z0:_(s32) = G_ANYEXT %z(s1)154    $x10 = COPY %z0(s32)155    PseudoRET implicit $x10156 157...158---159name:            cmp_slt_i7160body:             |161  bb.0.entry:162    ; CHECK-LABEL: name: cmp_slt_i7163    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10164    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11165    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 25166    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)167    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)168    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)169    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)170    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[ASHR]](s32), [[ASHR1]]171    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)172    ; CHECK-NEXT: PseudoRET implicit $x10173    %0:_(s32) = COPY $x10174    %1:_(s32) = COPY $x11175    %2:_(s7) = G_TRUNC %0(s32)176    %3:_(s7) = G_TRUNC %1(s32)177    %4:_(s1) = G_ICMP intpred(slt), %2(s7), %3178    %5:_(s32) = G_ANYEXT %4(s1)179    $x10 = COPY %5(s32)180    PseudoRET implicit $x10181 182...183---184name:            cmp_slt_i8185body:             |186  bb.0.entry:187    ; CHECK-LABEL: name: cmp_slt_i8188    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10189    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11190    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 24191    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)192    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)193    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)194    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)195    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[ASHR]](s32), [[ASHR1]]196    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)197    ; CHECK-NEXT: PseudoRET implicit $x10198    %0:_(s32) = COPY $x10199    %1:_(s32) = COPY $x11200    %2:_(s8) = G_TRUNC %0(s32)201    %3:_(s8) = G_TRUNC %1(s32)202    %4:_(s1) = G_ICMP intpred(slt), %2(s8), %3203    %5:_(s32) = G_ANYEXT %4(s1)204    $x10 = COPY %5(s32)205    PseudoRET implicit $x10206 207...208---209name:            cmp_slt_i16210body:             |211  bb.0.entry:212    ; CHECK-LABEL: name: cmp_slt_i16213    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10214    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11215    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16216    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)217    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)218    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)219    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)220    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[ASHR]](s32), [[ASHR1]]221    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)222    ; CHECK-NEXT: PseudoRET implicit $x10223    %0:_(s32) = COPY $x10224    %1:_(s32) = COPY $x11225    %2:_(s16) = G_TRUNC %0(s32)226    %3:_(s16) = G_TRUNC %1(s32)227    %4:_(s1) = G_ICMP intpred(slt), %2(s16), %3228    %5:_(s32) = G_ANYEXT %4(s1)229    $x10 = COPY %5(s32)230    PseudoRET implicit $x10231 232...233---234name:            cmp_slt_i32235body:             |236  bb.0.entry:237    ; CHECK-LABEL: name: cmp_slt_i32238    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10239    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11240    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[COPY]](s32), [[COPY1]]241    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)242    ; CHECK-NEXT: PseudoRET implicit $x10243    %0:_(s32) = COPY $x10244    %1:_(s32) = COPY $x11245    %2:_(s1) = G_ICMP intpred(slt), %0(s32), %1246    %3:_(s32) = G_ANYEXT %2(s1)247    $x10 = COPY %3(s32)248    PseudoRET implicit $x10249 250...251---252name:            cmp_slt_i48253body:             |254  bb.0.entry:255    ; CHECK-LABEL: name: cmp_slt_i48256    ; CHECK: %xhi:_(s32) = COPY $x10257    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11258    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12259    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13260    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16261    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL %xlo, [[C]](s32)262    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)263    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL %ylo, [[C]](s32)264    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)265    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), %xhi(s32), %yhi266    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[ASHR]](s32), [[ASHR1]]267    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[ASHR]](s32), [[ASHR1]]268    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]269    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)270    ; CHECK-NEXT: PseudoRET implicit $x10271    %xhi:_(s32) = COPY $x10272    %xlo:_(s32) = COPY $x11273    %yhi:_(s32) = COPY $x12274    %ylo:_(s32) = COPY $x13275    %x0:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)276    %y0:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)277    %x:_(s48) = G_TRUNC %x0(s64)278    %y:_(s48) = G_TRUNC %y0(s64)279    %z:_(s1) = G_ICMP intpred(slt), %x(s48), %y280    %z0:_(s32) = G_ANYEXT %z(s1)281    $x10 = COPY %z0(s32)282    PseudoRET implicit $x10283 284...285---286name:            cmp_slt_i64287body:             |288  bb.0.entry:289    ; CHECK-LABEL: name: cmp_slt_i64290    ; CHECK: %xhi:_(s32) = COPY $x10291    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11292    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12293    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13294    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), %xhi(s32), %yhi295    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), %xlo(s32), %ylo296    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), %xlo(s32), %ylo297    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]298    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)299    ; CHECK-NEXT: PseudoRET implicit $x10300    %xhi:_(s32) = COPY $x10301    %xlo:_(s32) = COPY $x11302    %yhi:_(s32) = COPY $x12303    %ylo:_(s32) = COPY $x13304    %x:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)305    %y:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)306    %z:_(s1) = G_ICMP intpred(slt), %x, %y307    %z0:_(s32) = G_ANYEXT %z(s1)308    $x10 = COPY %z0(s32)309    PseudoRET implicit $x10310 311...312---313name:            cmp_sge_i7314body:             |315  bb.0.entry:316    ; CHECK-LABEL: name: cmp_sge_i7317    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10318    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11319    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 25320    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)321    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)322    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)323    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)324    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sge), [[ASHR]](s32), [[ASHR1]]325    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)326    ; CHECK-NEXT: PseudoRET implicit $x10327    %0:_(s32) = COPY $x10328    %1:_(s32) = COPY $x11329    %2:_(s7) = G_TRUNC %0(s32)330    %3:_(s7) = G_TRUNC %1(s32)331    %4:_(s1) = G_ICMP intpred(sge), %2(s7), %3332    %5:_(s32) = G_ANYEXT %4(s1)333    $x10 = COPY %5(s32)334    PseudoRET implicit $x10335 336...337---338name:            cmp_sge_i8339body:             |340  bb.0.entry:341    ; CHECK-LABEL: name: cmp_sge_i8342    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10343    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11344    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 24345    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)346    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)347    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)348    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)349    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sge), [[ASHR]](s32), [[ASHR1]]350    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)351    ; CHECK-NEXT: PseudoRET implicit $x10352    %0:_(s32) = COPY $x10353    %1:_(s32) = COPY $x11354    %2:_(s8) = G_TRUNC %0(s32)355    %3:_(s8) = G_TRUNC %1(s32)356    %4:_(s1) = G_ICMP intpred(sge), %2(s8), %3357    %5:_(s32) = G_ANYEXT %4(s1)358    $x10 = COPY %5(s32)359    PseudoRET implicit $x10360 361...362---363name:            cmp_sge_i16364body:             |365  bb.0.entry:366    ; CHECK-LABEL: name: cmp_sge_i16367    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10368    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11369    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16370    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)371    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)372    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)373    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)374    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sge), [[ASHR]](s32), [[ASHR1]]375    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)376    ; CHECK-NEXT: PseudoRET implicit $x10377    %0:_(s32) = COPY $x10378    %1:_(s32) = COPY $x11379    %2:_(s16) = G_TRUNC %0(s32)380    %3:_(s16) = G_TRUNC %1(s32)381    %4:_(s1) = G_ICMP intpred(sge), %2(s16), %3382    %5:_(s32) = G_ANYEXT %4(s1)383    $x10 = COPY %5(s32)384    PseudoRET implicit $x10385 386...387---388name:            cmp_sge_i32389body:             |390  bb.0.entry:391    ; CHECK-LABEL: name: cmp_sge_i32392    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10393    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11394    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sge), [[COPY]](s32), [[COPY1]]395    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)396    ; CHECK-NEXT: PseudoRET implicit $x10397    %0:_(s32) = COPY $x10398    %1:_(s32) = COPY $x11399    %2:_(s1) = G_ICMP intpred(sge), %0(s32), %1400    %3:_(s32) = G_ANYEXT %2(s1)401    $x10 = COPY %3(s32)402    PseudoRET implicit $x10403 404...405---406name:            cmp_sge_i48407body:             |408  bb.0.entry:409    ; CHECK-LABEL: name: cmp_sge_i48410    ; CHECK: %xhi:_(s32) = COPY $x10411    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11412    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12413    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13414    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16415    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL %xlo, [[C]](s32)416    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)417    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL %ylo, [[C]](s32)418    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)419    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), %xhi(s32), %yhi420    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(sge), [[ASHR]](s32), [[ASHR1]]421    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[ASHR]](s32), [[ASHR1]]422    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]423    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)424    ; CHECK-NEXT: PseudoRET implicit $x10425    %xhi:_(s32) = COPY $x10426    %xlo:_(s32) = COPY $x11427    %yhi:_(s32) = COPY $x12428    %ylo:_(s32) = COPY $x13429    %x0:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)430    %y0:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)431    %x:_(s48) = G_TRUNC %x0(s64)432    %y:_(s48) = G_TRUNC %y0(s64)433    %z:_(s1) = G_ICMP intpred(sge), %x(s48), %y434    %z0:_(s32) = G_ANYEXT %z(s1)435    $x10 = COPY %z0(s32)436    PseudoRET implicit $x10437 438...439---440name:            cmp_sge_i64441body:             |442  bb.0.entry:443    ; CHECK-LABEL: name: cmp_sge_i64444    ; CHECK: %xhi:_(s32) = COPY $x10445    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11446    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12447    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13448    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), %xhi(s32), %yhi449    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(sge), %xlo(s32), %ylo450    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), %xlo(s32), %ylo451    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]452    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)453    ; CHECK-NEXT: PseudoRET implicit $x10454    %xhi:_(s32) = COPY $x10455    %xlo:_(s32) = COPY $x11456    %yhi:_(s32) = COPY $x12457    %ylo:_(s32) = COPY $x13458    %x:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)459    %y:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)460    %z:_(s1) = G_ICMP intpred(sge), %x, %y461    %z0:_(s32) = G_ANYEXT %z(s1)462    $x10 = COPY %z0(s32)463    PseudoRET implicit $x10464 465...466---467name:            cmp_sle_i7468body:             |469  bb.0.entry:470    ; CHECK-LABEL: name: cmp_sle_i7471    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10472    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11473    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 25474    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)475    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)476    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)477    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)478    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sle), [[ASHR]](s32), [[ASHR1]]479    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)480    ; CHECK-NEXT: PseudoRET implicit $x10481    %0:_(s32) = COPY $x10482    %1:_(s32) = COPY $x11483    %2:_(s7) = G_TRUNC %0(s32)484    %3:_(s7) = G_TRUNC %1(s32)485    %4:_(s1) = G_ICMP intpred(sle), %2(s7), %3486    %5:_(s32) = G_ANYEXT %4(s1)487    $x10 = COPY %5(s32)488    PseudoRET implicit $x10489 490...491---492name:            cmp_sle_i8493body:             |494  bb.0.entry:495    ; CHECK-LABEL: name: cmp_sle_i8496    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10497    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11498    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 24499    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)500    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)501    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)502    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)503    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sle), [[ASHR]](s32), [[ASHR1]]504    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)505    ; CHECK-NEXT: PseudoRET implicit $x10506    %0:_(s32) = COPY $x10507    %1:_(s32) = COPY $x11508    %2:_(s8) = G_TRUNC %0(s32)509    %3:_(s8) = G_TRUNC %1(s32)510    %4:_(s1) = G_ICMP intpred(sle), %2(s8), %3511    %5:_(s32) = G_ANYEXT %4(s1)512    $x10 = COPY %5(s32)513    PseudoRET implicit $x10514 515...516---517name:            cmp_sle_i16518body:             |519  bb.0.entry:520    ; CHECK-LABEL: name: cmp_sle_i16521    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10522    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11523    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16524    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)525    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)526    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[COPY1]], [[C]](s32)527    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)528    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sle), [[ASHR]](s32), [[ASHR1]]529    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)530    ; CHECK-NEXT: PseudoRET implicit $x10531    %0:_(s32) = COPY $x10532    %1:_(s32) = COPY $x11533    %2:_(s16) = G_TRUNC %0(s32)534    %3:_(s16) = G_TRUNC %1(s32)535    %4:_(s1) = G_ICMP intpred(sle), %2(s16), %3536    %5:_(s32) = G_ANYEXT %4(s1)537    $x10 = COPY %5(s32)538    PseudoRET implicit $x10539 540...541---542name:            cmp_sle_i32543body:             |544  bb.0.entry:545    ; CHECK-LABEL: name: cmp_sle_i32546    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10547    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11548    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sle), [[COPY]](s32), [[COPY1]]549    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)550    ; CHECK-NEXT: PseudoRET implicit $x10551    %0:_(s32) = COPY $x10552    %1:_(s32) = COPY $x11553    %2:_(s1) = G_ICMP intpred(sle), %0(s32), %1554    %3:_(s32) = G_ANYEXT %2(s1)555    $x10 = COPY %3(s32)556    PseudoRET implicit $x10557 558...559---560name:            cmp_sle_i48561body:             |562  bb.0.entry:563    ; CHECK-LABEL: name: cmp_sle_i48564    ; CHECK: %xhi:_(s32) = COPY $x10565    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11566    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12567    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13568    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16569    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL %xlo, [[C]](s32)570    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)571    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL %ylo, [[C]](s32)572    ; CHECK-NEXT: [[ASHR1:%[0-9]+]]:_(s32) = G_ASHR [[SHL1]], [[C]](s32)573    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), %xhi(s32), %yhi574    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(sle), [[ASHR]](s32), [[ASHR1]]575    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[ASHR]](s32), [[ASHR1]]576    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]577    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)578    ; CHECK-NEXT: PseudoRET implicit $x10579    %xhi:_(s32) = COPY $x10580    %xlo:_(s32) = COPY $x11581    %yhi:_(s32) = COPY $x12582    %ylo:_(s32) = COPY $x13583    %x0:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)584    %y0:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)585    %x:_(s48) = G_TRUNC %x0(s64)586    %y:_(s48) = G_TRUNC %y0(s64)587    %z:_(s1) = G_ICMP intpred(sle), %x(s48), %y588    %z0:_(s32) = G_ANYEXT %z(s1)589    $x10 = COPY %z0(s32)590    PseudoRET implicit $x10591 592...593---594name:            cmp_sle_i64595body:             |596  bb.0.entry:597    ; CHECK-LABEL: name: cmp_sle_i64598    ; CHECK: %xhi:_(s32) = COPY $x10599    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11600    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12601    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13602    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), %xhi(s32), %yhi603    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(sle), %xlo(s32), %ylo604    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), %xlo(s32), %ylo605    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]606    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)607    ; CHECK-NEXT: PseudoRET implicit $x10608    %xhi:_(s32) = COPY $x10609    %xlo:_(s32) = COPY $x11610    %yhi:_(s32) = COPY $x12611    %ylo:_(s32) = COPY $x13612    %x:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)613    %y:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)614    %z:_(s1) = G_ICMP intpred(sle), %x, %y615    %z0:_(s32) = G_ANYEXT %z(s1)616    $x10 = COPY %z0(s32)617    PseudoRET implicit $x10618 619...620---621name:            cmp_ugt_i7622body:             |623  bb.0.entry:624    ; CHECK-LABEL: name: cmp_ugt_i7625    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10626    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11627    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 127628    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]629    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]630    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[AND]](s32), [[AND1]]631    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)632    ; CHECK-NEXT: PseudoRET implicit $x10633    %0:_(s32) = COPY $x10634    %1:_(s32) = COPY $x11635    %2:_(s7) = G_TRUNC %0(s32)636    %3:_(s7) = G_TRUNC %1(s32)637    %4:_(s1) = G_ICMP intpred(ugt), %2(s7), %3638    %5:_(s32) = G_ANYEXT %4(s1)639    $x10 = COPY %5(s32)640    PseudoRET implicit $x10641 642...643---644name:            cmp_ugt_i8645body:             |646  bb.0.entry:647    ; CHECK-LABEL: name: cmp_ugt_i8648    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10649    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11650    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 255651    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]652    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]653    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[AND]](s32), [[AND1]]654    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)655    ; CHECK-NEXT: PseudoRET implicit $x10656    %0:_(s32) = COPY $x10657    %1:_(s32) = COPY $x11658    %2:_(s8) = G_TRUNC %0(s32)659    %3:_(s8) = G_TRUNC %1(s32)660    %4:_(s1) = G_ICMP intpred(ugt), %2(s8), %3661    %5:_(s32) = G_ANYEXT %4(s1)662    $x10 = COPY %5(s32)663    PseudoRET implicit $x10664 665...666---667name:            cmp_ugt_i16668body:             |669  bb.0.entry:670    ; CHECK-LABEL: name: cmp_ugt_i16671    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10672    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11673    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535674    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]675    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]676    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[AND]](s32), [[AND1]]677    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)678    ; CHECK-NEXT: PseudoRET implicit $x10679    %0:_(s32) = COPY $x10680    %1:_(s32) = COPY $x11681    %2:_(s16) = G_TRUNC %0(s32)682    %3:_(s16) = G_TRUNC %1(s32)683    %4:_(s1) = G_ICMP intpred(ugt), %2(s16), %3684    %5:_(s32) = G_ANYEXT %4(s1)685    $x10 = COPY %5(s32)686    PseudoRET implicit $x10687 688...689---690name:            cmp_ugt_i32691body:             |692  bb.0.entry:693    ; CHECK-LABEL: name: cmp_ugt_i32694    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10695    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11696    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[COPY]](s32), [[COPY1]]697    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)698    ; CHECK-NEXT: PseudoRET implicit $x10699    %0:_(s32) = COPY $x10700    %1:_(s32) = COPY $x11701    %2:_(s1) = G_ICMP intpred(ugt), %0(s32), %1702    %3:_(s32) = G_ANYEXT %2(s1)703    $x10 = COPY %3(s32)704    PseudoRET implicit $x10705 706...707---708name:            cmp_ugt_i48709body:             |710  bb.0.entry:711    ; CHECK-LABEL: name: cmp_ugt_i48712    ; CHECK: %xhi:_(s32) = COPY $x10713    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11714    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12715    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13716    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -1717    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535718    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND %xhi, [[C]]719    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND %xlo, [[C1]]720    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND %yhi, [[C]]721    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s32) = G_AND %ylo, [[C1]]722    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[AND]](s32), [[AND2]]723    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[AND1]](s32), [[AND3]]724    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[AND1]](s32), [[AND3]]725    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]726    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)727    ; CHECK-NEXT: PseudoRET implicit $x10728    %xhi:_(s32) = COPY $x10729    %xlo:_(s32) = COPY $x11730    %yhi:_(s32) = COPY $x12731    %ylo:_(s32) = COPY $x13732    %x0:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)733    %y0:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)734    %x:_(s48) = G_TRUNC %x0(s64)735    %y:_(s48) = G_TRUNC %y0(s64)736    %z:_(s1) = G_ICMP intpred(ugt), %x(s48), %y737    %z0:_(s32) = G_ANYEXT %z(s1)738    $x10 = COPY %z0(s32)739    PseudoRET implicit $x10740 741...742---743name:            cmp_ugt_i64744body:             |745  bb.0.entry:746    ; CHECK-LABEL: name: cmp_ugt_i64747    ; CHECK: %xhi:_(s32) = COPY $x10748    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11749    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12750    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13751    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), %xhi(s32), %yhi752    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), %xlo(s32), %ylo753    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), %xlo(s32), %ylo754    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]755    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)756    ; CHECK-NEXT: PseudoRET implicit $x10757    %xhi:_(s32) = COPY $x10758    %xlo:_(s32) = COPY $x11759    %yhi:_(s32) = COPY $x12760    %ylo:_(s32) = COPY $x13761    %x:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)762    %y:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)763    %z:_(s1) = G_ICMP intpred(ugt), %x, %y764    %z0:_(s32) = G_ANYEXT %z(s1)765    $x10 = COPY %z0(s32)766    PseudoRET implicit $x10767 768...769---770name:            cmp_ult_i7771body:             |772  bb.0.entry:773    ; CHECK-LABEL: name: cmp_ult_i7774    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10775    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11776    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 127777    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]778    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]779    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[AND]](s32), [[AND1]]780    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)781    ; CHECK-NEXT: PseudoRET implicit $x10782    %0:_(s32) = COPY $x10783    %1:_(s32) = COPY $x11784    %2:_(s7) = G_TRUNC %0(s32)785    %3:_(s7) = G_TRUNC %1(s32)786    %4:_(s1) = G_ICMP intpred(ult), %2(s7), %3787    %5:_(s32) = G_ANYEXT %4(s1)788    $x10 = COPY %5(s32)789    PseudoRET implicit $x10790 791...792---793name:            cmp_ult_i8794body:             |795  bb.0.entry:796    ; CHECK-LABEL: name: cmp_ult_i8797    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10798    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11799    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 255800    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]801    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]802    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[AND]](s32), [[AND1]]803    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)804    ; CHECK-NEXT: PseudoRET implicit $x10805    %0:_(s32) = COPY $x10806    %1:_(s32) = COPY $x11807    %2:_(s8) = G_TRUNC %0(s32)808    %3:_(s8) = G_TRUNC %1(s32)809    %4:_(s1) = G_ICMP intpred(ult), %2(s8), %3810    %5:_(s32) = G_ANYEXT %4(s1)811    $x10 = COPY %5(s32)812    PseudoRET implicit $x10813 814...815---816name:            cmp_ult_i16817body:             |818  bb.0.entry:819    ; CHECK-LABEL: name: cmp_ult_i16820    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10821    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11822    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535823    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]824    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]825    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[AND]](s32), [[AND1]]826    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)827    ; CHECK-NEXT: PseudoRET implicit $x10828    %0:_(s32) = COPY $x10829    %1:_(s32) = COPY $x11830    %2:_(s16) = G_TRUNC %0(s32)831    %3:_(s16) = G_TRUNC %1(s32)832    %4:_(s1) = G_ICMP intpred(ult), %2(s16), %3833    %5:_(s32) = G_ANYEXT %4(s1)834    $x10 = COPY %5(s32)835    PseudoRET implicit $x10836 837...838---839name:            cmp_ult_i32840body:             |841  bb.0.entry:842    ; CHECK-LABEL: name: cmp_ult_i32843    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10844    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11845    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[COPY]](s32), [[COPY1]]846    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)847    ; CHECK-NEXT: PseudoRET implicit $x10848    %0:_(s32) = COPY $x10849    %1:_(s32) = COPY $x11850    %2:_(s1) = G_ICMP intpred(ult), %0(s32), %1851    %3:_(s32) = G_ANYEXT %2(s1)852    $x10 = COPY %3(s32)853    PseudoRET implicit $x10854 855...856---857name:            cmp_ult_i48858body:             |859  bb.0.entry:860    ; CHECK-LABEL: name: cmp_ult_i48861    ; CHECK: %xhi:_(s32) = COPY $x10862    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11863    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12864    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13865    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -1866    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535867    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND %xhi, [[C]]868    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND %xlo, [[C1]]869    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND %yhi, [[C]]870    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s32) = G_AND %ylo, [[C1]]871    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[AND]](s32), [[AND2]]872    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[AND1]](s32), [[AND3]]873    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[AND1]](s32), [[AND3]]874    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]875    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)876    ; CHECK-NEXT: PseudoRET implicit $x10877    %xhi:_(s32) = COPY $x10878    %xlo:_(s32) = COPY $x11879    %yhi:_(s32) = COPY $x12880    %ylo:_(s32) = COPY $x13881    %x0:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)882    %y0:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)883    %x:_(s48) = G_TRUNC %x0(s64)884    %y:_(s48) = G_TRUNC %y0(s64)885    %z:_(s1) = G_ICMP intpred(ult), %x(s48), %y886    %z0:_(s32) = G_ANYEXT %z(s1)887    $x10 = COPY %z0(s32)888    PseudoRET implicit $x10889 890...891---892name:            cmp_ult_i64893body:             |894  bb.0.entry:895    ; CHECK-LABEL: name: cmp_ult_i64896    ; CHECK: %xhi:_(s32) = COPY $x10897    ; CHECK-NEXT: %xlo:_(s32) = COPY $x11898    ; CHECK-NEXT: %yhi:_(s32) = COPY $x12899    ; CHECK-NEXT: %ylo:_(s32) = COPY $x13900    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), %xhi(s32), %yhi901    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(sge), %xlo(s32), %ylo902    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), %xlo(s32), %ylo903    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]904    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)905    ; CHECK-NEXT: PseudoRET implicit $x10906    %xhi:_(s32) = COPY $x10907    %xlo:_(s32) = COPY $x11908    %yhi:_(s32) = COPY $x12909    %ylo:_(s32) = COPY $x13910    %x:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)911    %y:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)912    %z:_(s1) = G_ICMP intpred(sge), %x, %y913    %z0:_(s32) = G_ANYEXT %z(s1)914    $x10 = COPY %z0(s32)915    PseudoRET implicit $x10916 917...918---919name:            cmp_uge_i7920body:             |921  bb.0.entry:922    ; CHECK-LABEL: name: cmp_uge_i7923    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10924    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11925    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 127926    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]927    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]928    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), [[AND]](s32), [[AND1]]929    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)930    ; CHECK-NEXT: PseudoRET implicit $x10931    %0:_(s32) = COPY $x10932    %1:_(s32) = COPY $x11933    %2:_(s7) = G_TRUNC %0(s32)934    %3:_(s7) = G_TRUNC %1(s32)935    %4:_(s1) = G_ICMP intpred(uge), %2(s7), %3936    %5:_(s32) = G_ANYEXT %4(s1)937    $x10 = COPY %5(s32)938    PseudoRET implicit $x10939 940...941---942name:            cmp_uge_i8943body:             |944  bb.0.entry:945    ; CHECK-LABEL: name: cmp_uge_i8946    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10947    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11948    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 255949    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]950    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]951    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), [[AND]](s32), [[AND1]]952    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)953    ; CHECK-NEXT: PseudoRET implicit $x10954    %0:_(s32) = COPY $x10955    %1:_(s32) = COPY $x11956    %2:_(s8) = G_TRUNC %0(s32)957    %3:_(s8) = G_TRUNC %1(s32)958    %4:_(s1) = G_ICMP intpred(uge), %2(s8), %3959    %5:_(s32) = G_ANYEXT %4(s1)960    $x10 = COPY %5(s32)961    PseudoRET implicit $x10962 963...964---965name:            cmp_uge_i16966body:             |967  bb.0.entry:968    ; CHECK-LABEL: name: cmp_uge_i16969    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10970    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11971    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535972    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]973    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]974    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), [[AND]](s32), [[AND1]]975    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)976    ; CHECK-NEXT: PseudoRET implicit $x10977    %0:_(s32) = COPY $x10978    %1:_(s32) = COPY $x11979    %2:_(s16) = G_TRUNC %0(s32)980    %3:_(s16) = G_TRUNC %1(s32)981    %4:_(s1) = G_ICMP intpred(uge), %2(s16), %3982    %5:_(s32) = G_ANYEXT %4(s1)983    $x10 = COPY %5(s32)984    PseudoRET implicit $x10985 986...987---988name:            cmp_uge_i32989body:             |990  bb.0.entry:991    ; CHECK-LABEL: name: cmp_uge_i32992    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x10993    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11994    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), [[COPY]](s32), [[COPY1]]995    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)996    ; CHECK-NEXT: PseudoRET implicit $x10997    %0:_(s32) = COPY $x10998    %1:_(s32) = COPY $x11999    %2:_(s1) = G_ICMP intpred(uge), %0(s32), %11000    %3:_(s32) = G_ANYEXT %2(s1)1001    $x10 = COPY %3(s32)1002    PseudoRET implicit $x101003 1004...1005---1006name:            cmp_uge_i481007body:             |1008  bb.0.entry:1009    ; CHECK-LABEL: name: cmp_uge_i481010    ; CHECK: %xhi:_(s32) = COPY $x101011    ; CHECK-NEXT: %xlo:_(s32) = COPY $x111012    ; CHECK-NEXT: %yhi:_(s32) = COPY $x121013    ; CHECK-NEXT: %ylo:_(s32) = COPY $x131014    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -11015    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 655351016    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND %xhi, [[C]]1017    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND %xlo, [[C1]]1018    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND %yhi, [[C]]1019    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s32) = G_AND %ylo, [[C1]]1020    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), [[AND]](s32), [[AND2]]1021    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), [[AND1]](s32), [[AND3]]1022    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[AND1]](s32), [[AND3]]1023    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]1024    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)1025    ; CHECK-NEXT: PseudoRET implicit $x101026    %xhi:_(s32) = COPY $x101027    %xlo:_(s32) = COPY $x111028    %yhi:_(s32) = COPY $x121029    %ylo:_(s32) = COPY $x131030    %x0:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)1031    %y0:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)1032    %x:_(s48) = G_TRUNC %x0(s64)1033    %y:_(s48) = G_TRUNC %y0(s64)1034    %z:_(s1) = G_ICMP intpred(uge), %x(s48), %y1035    %z0:_(s32) = G_ANYEXT %z(s1)1036    $x10 = COPY %z0(s32)1037    PseudoRET implicit $x101038 1039...1040---1041name:            cmp_uge_i641042body:             |1043  bb.0.entry:1044    ; CHECK-LABEL: name: cmp_uge_i641045    ; CHECK: %xhi:_(s32) = COPY $x101046    ; CHECK-NEXT: %xlo:_(s32) = COPY $x111047    ; CHECK-NEXT: %yhi:_(s32) = COPY $x121048    ; CHECK-NEXT: %ylo:_(s32) = COPY $x131049    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), %xhi(s32), %yhi1050    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(uge), %xlo(s32), %ylo1051    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), %xlo(s32), %ylo1052    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]1053    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)1054    ; CHECK-NEXT: PseudoRET implicit $x101055    %xhi:_(s32) = COPY $x101056    %xlo:_(s32) = COPY $x111057    %yhi:_(s32) = COPY $x121058    %ylo:_(s32) = COPY $x131059    %x:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)1060    %y:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)1061    %z:_(s1) = G_ICMP intpred(uge), %x, %y1062    %z0:_(s32) = G_ANYEXT %z(s1)1063    $x10 = COPY %z0(s32)1064    PseudoRET implicit $x101065 1066...1067---1068name:            cmp_ule_i71069body:             |1070  bb.0.entry:1071    ; CHECK-LABEL: name: cmp_ule_i71072    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101073    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111074    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1271075    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]1076    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]1077    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), [[AND]](s32), [[AND1]]1078    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1079    ; CHECK-NEXT: PseudoRET implicit $x101080    %0:_(s32) = COPY $x101081    %1:_(s32) = COPY $x111082    %2:_(s7) = G_TRUNC %0(s32)1083    %3:_(s7) = G_TRUNC %1(s32)1084    %4:_(s1) = G_ICMP intpred(ule), %2(s7), %31085    %5:_(s32) = G_ANYEXT %4(s1)1086    $x10 = COPY %5(s32)1087    PseudoRET implicit $x101088 1089...1090---1091name:            cmp_ule_i81092body:             |1093  bb.0.entry:1094    ; CHECK-LABEL: name: cmp_ule_i81095    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101096    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111097    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 2551098    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]1099    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]1100    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), [[AND]](s32), [[AND1]]1101    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1102    ; CHECK-NEXT: PseudoRET implicit $x101103    %0:_(s32) = COPY $x101104    %1:_(s32) = COPY $x111105    %2:_(s8) = G_TRUNC %0(s32)1106    %3:_(s8) = G_TRUNC %1(s32)1107    %4:_(s1) = G_ICMP intpred(ule), %2(s8), %31108    %5:_(s32) = G_ANYEXT %4(s1)1109    $x10 = COPY %5(s32)1110    PseudoRET implicit $x101111 1112...1113---1114name:            cmp_ule_i161115body:             |1116  bb.0.entry:1117    ; CHECK-LABEL: name: cmp_ule_i161118    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101119    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111120    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 655351121    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]1122    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]1123    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), [[AND]](s32), [[AND1]]1124    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1125    ; CHECK-NEXT: PseudoRET implicit $x101126    %0:_(s32) = COPY $x101127    %1:_(s32) = COPY $x111128    %2:_(s16) = G_TRUNC %0(s32)1129    %3:_(s16) = G_TRUNC %1(s32)1130    %4:_(s1) = G_ICMP intpred(ule), %2(s16), %31131    %5:_(s32) = G_ANYEXT %4(s1)1132    $x10 = COPY %5(s32)1133    PseudoRET implicit $x101134 1135...1136---1137name:            cmp_ule_i321138body:             |1139  bb.0.entry:1140    ; CHECK-LABEL: name: cmp_ule_i321141    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101142    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111143    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), [[COPY]](s32), [[COPY1]]1144    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1145    ; CHECK-NEXT: PseudoRET implicit $x101146    %0:_(s32) = COPY $x101147    %1:_(s32) = COPY $x111148    %2:_(s1) = G_ICMP intpred(ule), %0(s32), %11149    %3:_(s32) = G_ANYEXT %2(s1)1150    $x10 = COPY %3(s32)1151    PseudoRET implicit $x101152 1153...1154---1155name:            cmp_ule_i481156body:             |1157  bb.0.entry:1158    ; CHECK-LABEL: name: cmp_ule_i481159    ; CHECK: %xhi:_(s32) = COPY $x101160    ; CHECK-NEXT: %xlo:_(s32) = COPY $x111161    ; CHECK-NEXT: %yhi:_(s32) = COPY $x121162    ; CHECK-NEXT: %ylo:_(s32) = COPY $x131163    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -11164    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 655351165    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND %xhi, [[C]]1166    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND %xlo, [[C1]]1167    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND %yhi, [[C]]1168    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s32) = G_AND %ylo, [[C1]]1169    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), [[AND]](s32), [[AND2]]1170    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), [[AND1]](s32), [[AND3]]1171    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[AND1]](s32), [[AND3]]1172    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]1173    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)1174    ; CHECK-NEXT: PseudoRET implicit $x101175    %xhi:_(s32) = COPY $x101176    %xlo:_(s32) = COPY $x111177    %yhi:_(s32) = COPY $x121178    %ylo:_(s32) = COPY $x131179    %x0:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)1180    %y0:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)1181    %x:_(s48) = G_TRUNC %x0(s64)1182    %y:_(s48) = G_TRUNC %y0(s64)1183    %z:_(s1) = G_ICMP intpred(ule), %x(s48), %y1184    %z0:_(s32) = G_ANYEXT %z(s1)1185    $x10 = COPY %z0(s32)1186    PseudoRET implicit $x101187 1188...1189---1190name:            cmp_ule_i641191body:             |1192  bb.0.entry:1193    ; CHECK-LABEL: name: cmp_ule_i641194    ; CHECK: %xhi:_(s32) = COPY $x101195    ; CHECK-NEXT: %xlo:_(s32) = COPY $x111196    ; CHECK-NEXT: %yhi:_(s32) = COPY $x121197    ; CHECK-NEXT: %ylo:_(s32) = COPY $x131198    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), %xhi(s32), %yhi1199    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ule), %xlo(s32), %ylo1200    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), %xlo(s32), %ylo1201    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]1202    ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)1203    ; CHECK-NEXT: PseudoRET implicit $x101204    %xhi:_(s32) = COPY $x101205    %xlo:_(s32) = COPY $x111206    %yhi:_(s32) = COPY $x121207    %ylo:_(s32) = COPY $x131208    %x:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)1209    %y:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)1210    %z:_(s1) = G_ICMP intpred(ule), %x, %y1211    %z0:_(s32) = G_ANYEXT %z(s1)1212    $x10 = COPY %z0(s32)1213    PseudoRET implicit $x101214 1215...1216---1217name:            cmp_eq_i71218body:             |1219  bb.0.entry:1220    ; CHECK-LABEL: name: cmp_eq_i71221    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101222    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111223    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1271224    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]1225    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]1226    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[AND]](s32), [[AND1]]1227    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1228    ; CHECK-NEXT: PseudoRET implicit $x101229    %0:_(s32) = COPY $x101230    %1:_(s32) = COPY $x111231    %2:_(s7) = G_TRUNC %0(s32)1232    %3:_(s7) = G_TRUNC %1(s32)1233    %4:_(s1) = G_ICMP intpred(eq), %2(s7), %31234    %5:_(s32) = G_ANYEXT %4(s1)1235    $x10 = COPY %5(s32)1236    PseudoRET implicit $x101237 1238...1239---1240name:            cmp_eq_i81241body:             |1242  bb.0.entry:1243    ; CHECK-LABEL: name: cmp_eq_i81244    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101245    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111246    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 2551247    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]1248    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]1249    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[AND]](s32), [[AND1]]1250    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1251    ; CHECK-NEXT: PseudoRET implicit $x101252    %0:_(s32) = COPY $x101253    %1:_(s32) = COPY $x111254    %2:_(s8) = G_TRUNC %0(s32)1255    %3:_(s8) = G_TRUNC %1(s32)1256    %4:_(s1) = G_ICMP intpred(eq), %2(s8), %31257    %5:_(s32) = G_ANYEXT %4(s1)1258    $x10 = COPY %5(s32)1259    PseudoRET implicit $x101260 1261...1262---1263name:            cmp_eq_i161264body:             |1265  bb.0.entry:1266    ; CHECK-LABEL: name: cmp_eq_i161267    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101268    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111269    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 655351270    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]1271    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]1272    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[AND]](s32), [[AND1]]1273    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1274    ; CHECK-NEXT: PseudoRET implicit $x101275    %0:_(s32) = COPY $x101276    %1:_(s32) = COPY $x111277    %2:_(s16) = G_TRUNC %0(s32)1278    %3:_(s16) = G_TRUNC %1(s32)1279    %4:_(s1) = G_ICMP intpred(eq), %2(s16), %31280    %5:_(s32) = G_ANYEXT %4(s1)1281    $x10 = COPY %5(s32)1282    PseudoRET implicit $x101283 1284...1285---1286name:            cmp_eq_i321287body:             |1288  bb.0.entry:1289    ; CHECK-LABEL: name: cmp_eq_i321290    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101291    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111292    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[COPY]](s32), [[COPY1]]1293    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1294    ; CHECK-NEXT: PseudoRET implicit $x101295    %0:_(s32) = COPY $x101296    %1:_(s32) = COPY $x111297    %2:_(s1) = G_ICMP intpred(eq), %0(s32), %11298    %3:_(s32) = G_ANYEXT %2(s1)1299    $x10 = COPY %3(s32)1300    PseudoRET implicit $x101301 1302...1303---1304name:            cmp_eq_i481305body:             |1306  bb.0.entry:1307    ; CHECK-LABEL: name: cmp_eq_i481308    ; CHECK: %xhi:_(s32) = COPY $x101309    ; CHECK-NEXT: %xlo:_(s32) = COPY $x111310    ; CHECK-NEXT: %yhi:_(s32) = COPY $x121311    ; CHECK-NEXT: %ylo:_(s32) = COPY $x131312    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -11313    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 655351314    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND %xhi, [[C]]1315    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND %xlo, [[C1]]1316    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND %yhi, [[C]]1317    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s32) = G_AND %ylo, [[C1]]1318    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 01319    ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR [[AND]], [[AND2]]1320    ; CHECK-NEXT: [[XOR1:%[0-9]+]]:_(s32) = G_XOR [[AND1]], [[AND3]]1321    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[XOR]], [[XOR1]]1322    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[OR]](s32), [[C2]]1323    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1324    ; CHECK-NEXT: PseudoRET implicit $x101325    %xhi:_(s32) = COPY $x101326    %xlo:_(s32) = COPY $x111327    %yhi:_(s32) = COPY $x121328    %ylo:_(s32) = COPY $x131329    %x0:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)1330    %y0:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)1331    %x:_(s48) = G_TRUNC %x0(s64)1332    %y:_(s48) = G_TRUNC %y0(s64)1333    %z:_(s1) = G_ICMP intpred(eq), %x(s48), %y1334    %z0:_(s32) = G_ANYEXT %z(s1)1335    $x10 = COPY %z0(s32)1336    PseudoRET implicit $x101337 1338...1339---1340name:            cmp_eq_i641341body:             |1342  bb.0.entry:1343    ; CHECK-LABEL: name: cmp_eq_i641344    ; CHECK: %xhi:_(s32) = COPY $x101345    ; CHECK-NEXT: %xlo:_(s32) = COPY $x111346    ; CHECK-NEXT: %yhi:_(s32) = COPY $x121347    ; CHECK-NEXT: %ylo:_(s32) = COPY $x131348    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 01349    ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR %xhi, %yhi1350    ; CHECK-NEXT: [[XOR1:%[0-9]+]]:_(s32) = G_XOR %xlo, %ylo1351    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[XOR]], [[XOR1]]1352    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[OR]](s32), [[C]]1353    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1354    ; CHECK-NEXT: PseudoRET implicit $x101355    %xhi:_(s32) = COPY $x101356    %xlo:_(s32) = COPY $x111357    %yhi:_(s32) = COPY $x121358    %ylo:_(s32) = COPY $x131359    %x:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)1360    %y:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)1361    %z:_(s1) = G_ICMP intpred(eq), %x, %y1362    %z0:_(s32) = G_ANYEXT %z(s1)1363    $x10 = COPY %z0(s32)1364    PseudoRET implicit $x101365 1366...1367---1368name:            cmp_ne_i71369body:             |1370  bb.0.entry:1371    ; CHECK-LABEL: name: cmp_ne_i71372    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101373    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111374    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1271375    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]1376    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]1377    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[AND]](s32), [[AND1]]1378    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1379    ; CHECK-NEXT: PseudoRET implicit $x101380    %0:_(s32) = COPY $x101381    %1:_(s32) = COPY $x111382    %2:_(s7) = G_TRUNC %0(s32)1383    %3:_(s7) = G_TRUNC %1(s32)1384    %4:_(s1) = G_ICMP intpred(ne), %2(s7), %31385    %5:_(s32) = G_ANYEXT %4(s1)1386    $x10 = COPY %5(s32)1387    PseudoRET implicit $x101388 1389...1390---1391name:            cmp_ne_i81392body:             |1393  bb.0.entry:1394    ; CHECK-LABEL: name: cmp_ne_i81395    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101396    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111397    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 2551398    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]1399    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]1400    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[AND]](s32), [[AND1]]1401    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1402    ; CHECK-NEXT: PseudoRET implicit $x101403    %0:_(s32) = COPY $x101404    %1:_(s32) = COPY $x111405    %2:_(s8) = G_TRUNC %0(s32)1406    %3:_(s8) = G_TRUNC %1(s32)1407    %4:_(s1) = G_ICMP intpred(ne), %2(s8), %31408    %5:_(s32) = G_ANYEXT %4(s1)1409    $x10 = COPY %5(s32)1410    PseudoRET implicit $x101411 1412...1413---1414name:            cmp_ne_i161415body:             |1416  bb.0.entry:1417    ; CHECK-LABEL: name: cmp_ne_i161418    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101419    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111420    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 655351421    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]1422    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C]]1423    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[AND]](s32), [[AND1]]1424    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1425    ; CHECK-NEXT: PseudoRET implicit $x101426    %0:_(s32) = COPY $x101427    %1:_(s32) = COPY $x111428    %2:_(s16) = G_TRUNC %0(s32)1429    %3:_(s16) = G_TRUNC %1(s32)1430    %4:_(s1) = G_ICMP intpred(ne), %2(s16), %31431    %5:_(s32) = G_ANYEXT %4(s1)1432    $x10 = COPY %5(s32)1433    PseudoRET implicit $x101434 1435...1436---1437name:            cmp_ne_i321438body:             |1439  bb.0.entry:1440    ; CHECK-LABEL: name: cmp_ne_i321441    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $x101442    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x111443    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[COPY]](s32), [[COPY1]]1444    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1445    ; CHECK-NEXT: PseudoRET implicit $x101446    %0:_(s32) = COPY $x101447    %1:_(s32) = COPY $x111448    %2:_(s1) = G_ICMP intpred(ne), %0(s32), %11449    %3:_(s32) = G_ANYEXT %2(s1)1450    $x10 = COPY %3(s32)1451    PseudoRET implicit $x101452 1453...1454---1455name:            cmp_ne_i481456body:             |1457  bb.0.entry:1458    ; CHECK-LABEL: name: cmp_ne_i481459    ; CHECK: %xhi:_(s32) = COPY $x101460    ; CHECK-NEXT: %xlo:_(s32) = COPY $x111461    ; CHECK-NEXT: %yhi:_(s32) = COPY $x121462    ; CHECK-NEXT: %ylo:_(s32) = COPY $x131463    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 -11464    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 655351465    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND %xhi, [[C]]1466    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s32) = G_AND %xlo, [[C1]]1467    ; CHECK-NEXT: [[AND2:%[0-9]+]]:_(s32) = G_AND %yhi, [[C]]1468    ; CHECK-NEXT: [[AND3:%[0-9]+]]:_(s32) = G_AND %ylo, [[C1]]1469    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 01470    ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR [[AND]], [[AND2]]1471    ; CHECK-NEXT: [[XOR1:%[0-9]+]]:_(s32) = G_XOR [[AND1]], [[AND3]]1472    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[XOR]], [[XOR1]]1473    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[OR]](s32), [[C2]]1474    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1475    ; CHECK-NEXT: PseudoRET implicit $x101476    %xhi:_(s32) = COPY $x101477    %xlo:_(s32) = COPY $x111478    %yhi:_(s32) = COPY $x121479    %ylo:_(s32) = COPY $x131480    %x0:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)1481    %y0:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)1482    %x:_(s48) = G_TRUNC %x0(s64)1483    %y:_(s48) = G_TRUNC %y0(s64)1484    %z:_(s1) = G_ICMP intpred(ne), %x(s48), %y1485    %z0:_(s32) = G_ANYEXT %z(s1)1486    $x10 = COPY %z0(s32)1487    PseudoRET implicit $x101488 1489...1490---1491name:            cmp_ne_i641492body:             |1493  bb.0.entry:1494    ; CHECK-LABEL: name: cmp_ne_i641495    ; CHECK: %xhi:_(s32) = COPY $x101496    ; CHECK-NEXT: %xlo:_(s32) = COPY $x111497    ; CHECK-NEXT: %yhi:_(s32) = COPY $x121498    ; CHECK-NEXT: %ylo:_(s32) = COPY $x131499    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 01500    ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR %xhi, %yhi1501    ; CHECK-NEXT: [[XOR1:%[0-9]+]]:_(s32) = G_XOR %xlo, %ylo1502    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s32) = G_OR [[XOR]], [[XOR1]]1503    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ne), [[OR]](s32), [[C]]1504    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1505    ; CHECK-NEXT: PseudoRET implicit $x101506    %xhi:_(s32) = COPY $x101507    %xlo:_(s32) = COPY $x111508    %yhi:_(s32) = COPY $x121509    %ylo:_(s32) = COPY $x131510    %x:_(s64) = G_MERGE_VALUES %xhi(s32), %xlo(s32)1511    %y:_(s64) = G_MERGE_VALUES %yhi(s32), %ylo(s32)1512    %z:_(s1) = G_ICMP intpred(ne), %x, %y1513    %z0:_(s32) = G_ANYEXT %z(s1)1514    $x10 = COPY %z0(s32)1515    PseudoRET implicit $x101516 1517...1518---1519name:            cmp_eq_ptr1520body:             |1521  bb.0.entry:1522    ; CHECK-LABEL: name: cmp_eq_ptr1523    ; CHECK: [[COPY:%[0-9]+]]:_(p0) = COPY $x101524    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x111525    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[COPY]](p0), [[COPY1]]1526    ; CHECK-NEXT: $x10 = COPY [[ICMP]](s32)1527    ; CHECK-NEXT: PseudoRET implicit $x101528    %0:_(p0) = COPY $x101529    %1:_(p0) = COPY $x111530    %2:_(s1) = G_ICMP intpred(eq), %0(p0), %11531    %3:_(s32) = G_ANYEXT %2(s1)1532    $x10 = COPY %3(s32)1533    PseudoRET implicit $x101534 1535...1536---1537name:            cmp_slt_i1281538body:             |1539  bb.1:1540    liveins: $x10, $x111541 1542    ; CHECK-LABEL: name: cmp_slt_i1281543    ; CHECK: liveins: $x10, $x111544    ; CHECK-NEXT: {{  $}}1545    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x101546    ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p0) :: (load (s32), align 8)1547    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 41548    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY]], [[C]](s32)1549    ; CHECK-NEXT: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD]](p0) :: (load (s32) from unknown-address + 4)1550    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 81551    ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY]], [[C1]](s32)1552    ; CHECK-NEXT: [[LOAD2:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD1]](p0) :: (load (s32) from unknown-address + 8, align 8)1553    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 121554    ; CHECK-NEXT: [[PTR_ADD2:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY]], [[C2]](s32)1555    ; CHECK-NEXT: [[LOAD3:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD2]](p0) :: (load (s32) from unknown-address + 12)1556    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(p0) = COPY $x111557    ; CHECK-NEXT: [[LOAD4:%[0-9]+]]:_(s32) = G_LOAD [[COPY1]](p0) :: (load (s32), align 8)1558    ; CHECK-NEXT: [[PTR_ADD3:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY1]], [[C]](s32)1559    ; CHECK-NEXT: [[LOAD5:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD3]](p0) :: (load (s32) from unknown-address + 4)1560    ; CHECK-NEXT: [[PTR_ADD4:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY1]], [[C1]](s32)1561    ; CHECK-NEXT: [[LOAD6:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD4]](p0) :: (load (s32) from unknown-address + 8, align 8)1562    ; CHECK-NEXT: [[PTR_ADD5:%[0-9]+]]:_(p0) = nuw inbounds G_PTR_ADD [[COPY1]], [[C2]](s32)1563    ; CHECK-NEXT: [[LOAD7:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD5]](p0) :: (load (s32) from unknown-address + 12)1564    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[LOAD]](s32), [[LOAD4]]1565    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[LOAD1]](s32), [[LOAD5]]1566    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[LOAD1]](s32), [[LOAD5]]1567    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP2]](s32), [[ICMP]], [[ICMP1]]1568    ; CHECK-NEXT: [[ICMP3:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[LOAD2]](s32), [[LOAD6]]1569    ; CHECK-NEXT: [[ICMP4:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[LOAD2]](s32), [[LOAD6]]1570    ; CHECK-NEXT: [[SELECT1:%[0-9]+]]:_(s32) = G_SELECT [[ICMP4]](s32), [[SELECT]], [[ICMP3]]1571    ; CHECK-NEXT: [[ICMP5:%[0-9]+]]:_(s32) = G_ICMP intpred(slt), [[LOAD3]](s32), [[LOAD7]]1572    ; CHECK-NEXT: [[ICMP6:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[LOAD3]](s32), [[LOAD7]]1573    ; CHECK-NEXT: [[SELECT2:%[0-9]+]]:_(s32) = G_SELECT [[ICMP6]](s32), [[SELECT1]], [[ICMP5]]1574    ; CHECK-NEXT: $x10 = COPY [[SELECT2]](s32)1575    ; CHECK-NEXT: PseudoRET implicit $x101576    %2:_(p0) = COPY $x101577    %0:_(s128) = G_LOAD %2(p0) :: (load (s128), align 8)1578    %3:_(p0) = COPY $x111579    %1:_(s128) = G_LOAD %3(p0) :: (load (s128), align 8)1580    %4:_(s1) = G_ICMP intpred(slt), %0(s128), %11581    %5:_(s32) = G_ANYEXT %4(s1)1582    $x10 = COPY %5(s32)1583    PseudoRET implicit $x101584 1585...1586