brintos

brintos / llvm-project-archived public Read only

0
0
Text · 14.4 KiB · ae58e2c Raw
333 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:            lshr_i86body:             |7  bb.0.entry:8    ; CHECK-LABEL: name: lshr_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 25512    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]13    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]14    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR [[AND1]], [[AND]](s64)15    ; CHECK-NEXT: $x10 = COPY [[LSHR]](s64)16    ; CHECK-NEXT: PseudoRET implicit $x1017    %0:_(s64) = COPY $x1018    %1:_(s64) = COPY $x1119    %2:_(s8) = G_TRUNC %0(s64)20    %3:_(s8) = G_TRUNC %1(s64)21    %4:_(s8) = G_LSHR %2, %322    %5:_(s64) = G_ANYEXT %4(s8)23    $x10 = COPY %5(s64)24    PseudoRET implicit $x1025 26...27---28name:            lshr_i1529body:             |30  bb.0.entry:31    ; CHECK-LABEL: name: lshr_i1532    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x1033    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1134    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 3276735    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]36    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]37    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR [[AND1]], [[AND]](s64)38    ; CHECK-NEXT: $x10 = COPY [[LSHR]](s64)39    ; CHECK-NEXT: PseudoRET implicit $x1040    %0:_(s64) = COPY $x1041    %1:_(s64) = COPY $x1142    %2:_(s15) = G_TRUNC %0(s64)43    %3:_(s15) = G_TRUNC %1(s64)44    %4:_(s15) = G_LSHR %2, %345    %5:_(s64) = G_ANYEXT %4(s15)46    $x10 = COPY %5(s64)47    PseudoRET implicit $x1048 49...50---51name:            lshr_i1652body:             |53  bb.0.entry:54    ; CHECK-LABEL: name: lshr_i1655    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x1056    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1157    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 6553558    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]59    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]60    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR [[AND1]], [[AND]](s64)61    ; CHECK-NEXT: $x10 = COPY [[LSHR]](s64)62    ; CHECK-NEXT: PseudoRET implicit $x1063    %0:_(s64) = COPY $x1064    %1:_(s64) = COPY $x1165    %2:_(s16) = G_TRUNC %0(s64)66    %3:_(s16) = G_TRUNC %1(s64)67    %4:_(s16) = G_LSHR %2, %368    %5:_(s64) = G_ANYEXT %4(s16)69    $x10 = COPY %5(s64)70    PseudoRET implicit $x1071 72...73---74name:            lshr_i3275body:             |76  bb.0.entry:77    ; CHECK-LABEL: name: lshr_i3278    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x1079    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1180    ; CHECK-NEXT: [[SRLW:%[0-9]+]]:_(s64) = G_SRLW [[COPY]], [[COPY1]]81    ; CHECK-NEXT: $x10 = COPY [[SRLW]](s64)82    ; CHECK-NEXT: PseudoRET implicit $x1083    %0:_(s64) = COPY $x1084    %1:_(s64) = COPY $x1185    %2:_(s32) = G_TRUNC %0(s64)86    %3:_(s32) = G_TRUNC %1(s64)87    %4:_(s32) = G_LSHR %2, %388    %5:_(s64) = G_ANYEXT %4(s32)89    $x10 = COPY %5(s64)90    PseudoRET implicit $x1091 92...93---94name:            lshr_i6495body:             |96  bb.0.entry:97    ; CHECK-LABEL: name: lshr_i6498    ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $x1099    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11100    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR [[COPY]], [[COPY1]](s64)101    ; CHECK-NEXT: $x10 = COPY [[LSHR]](s64)102    ; CHECK-NEXT: PseudoRET implicit $x10103    %0:_(s64) = COPY $x10104    %1:_(s64) = COPY $x11105    %2:_(s64) = G_LSHR %0, %1106    $x10 = COPY %2(s64)107    PseudoRET implicit $x10108 109...110---111name:            lshr_i72112body:             |113  bb.0.entry:114    ; CHECK-LABEL: name: lshr_i72115    ; CHECK: %x00:_(s64) = COPY $x10116    ; CHECK-NEXT: %x01:_(s64) = COPY $x11117    ; CHECK-NEXT: %y00:_(s64) = COPY $x12118    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -1119    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 255120    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND %x00, [[C]]121    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND %x01, [[C1]]122    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 64123    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB %y00, [[C2]]124    ; CHECK-NEXT: [[SUB1:%[0-9]+]]:_(s64) = G_SUB [[C2]], %y00125    ; CHECK-NEXT: [[C3:%[0-9]+]]:_(s64) = G_CONSTANT i64 0126    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), %y00(s64), [[C2]]127    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %y00(s64), [[C3]]128    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR [[AND1]], %y00(s64)129    ; CHECK-NEXT: [[LSHR1:%[0-9]+]]:_(s64) = G_LSHR [[AND]], %y00(s64)130    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[AND1]], [[SUB1]](s64)131    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = G_OR [[LSHR1]], [[SHL]]132    ; CHECK-NEXT: [[LSHR2:%[0-9]+]]:_(s64) = G_LSHR [[AND1]], [[SUB]](s64)133    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[ICMP]](s64), [[OR]], [[LSHR2]]134    ; CHECK-NEXT: [[SELECT1:%[0-9]+]]:_(s64) = G_SELECT [[ICMP1]](s64), [[AND]], [[SELECT]]135    ; CHECK-NEXT: [[SELECT2:%[0-9]+]]:_(s64) = G_SELECT [[ICMP]](s64), [[LSHR]], [[C3]]136    ; CHECK-NEXT: $x10 = COPY [[SELECT1]](s64)137    ; CHECK-NEXT: $x11 = COPY [[SELECT2]](s64)138    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11139    %x00:_(s64) = COPY $x10140    %x01:_(s64) = COPY $x11141    %y00:_(s64) = COPY $x12142    %y01:_(s64) = COPY $x13143    %x0:_(s128) = G_MERGE_VALUES %x00(s64), %x01144    %y0:_(s128) = G_MERGE_VALUES %y00(s64), %y01145    %x:_(s72) = G_TRUNC %x0(s128)146    %y:_(s72) = G_TRUNC %y0(s128)147    %z:_(s72) = G_LSHR %x, %y148    %z0:_(s128) = G_ANYEXT %z(s72)149    %z00:_(s64), %z01:_(s64) = G_UNMERGE_VALUES %z0(s128)150    $x10 = COPY %z00(s64)151    $x11 = COPY %z01(s64)152    PseudoRET implicit $x10, implicit $x11153 154...155---156name:            lshr_i128157body:             |158  bb.0.entry:159    ; CHECK-LABEL: name: lshr_i128160    ; CHECK: %lo1:_(s64) = COPY $x10161    ; CHECK-NEXT: %hi1:_(s64) = COPY $x11162    ; CHECK-NEXT: %lo2:_(s64) = COPY $x12163    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 64164    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB %lo2, [[C]]165    ; CHECK-NEXT: [[SUB1:%[0-9]+]]:_(s64) = G_SUB [[C]], %lo2166    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 0167    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), %lo2(s64), [[C]]168    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %lo2(s64), [[C1]]169    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR %hi1, %lo2(s64)170    ; CHECK-NEXT: [[LSHR1:%[0-9]+]]:_(s64) = G_LSHR %lo1, %lo2(s64)171    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL %hi1, [[SUB1]](s64)172    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = G_OR [[LSHR1]], [[SHL]]173    ; CHECK-NEXT: [[LSHR2:%[0-9]+]]:_(s64) = G_LSHR %hi1, [[SUB]](s64)174    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[ICMP]](s64), [[OR]], [[LSHR2]]175    ; CHECK-NEXT: [[SELECT1:%[0-9]+]]:_(s64) = G_SELECT [[ICMP1]](s64), %lo1, [[SELECT]]176    ; CHECK-NEXT: [[SELECT2:%[0-9]+]]:_(s64) = G_SELECT [[ICMP]](s64), [[LSHR]], [[C1]]177    ; CHECK-NEXT: $x10 = COPY [[SELECT1]](s64)178    ; CHECK-NEXT: $x11 = COPY [[SELECT2]](s64)179    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11180    %lo1:_(s64) = COPY $x10181    %hi1:_(s64) = COPY $x11182    %lo2:_(s64) = COPY $x12183    %hi2:_(s64) = COPY $x13184    %x1:_(s128) = G_MERGE_VALUES %lo1(s64), %hi1(s64)185    %x2:_(s128) = G_MERGE_VALUES %lo2(s64), %hi2(s64)186    %y:_(s128) = G_LSHR %x1, %x2187    %loy:_(s64), %hiy:_(s64) = G_UNMERGE_VALUES %y(s128)188    $x10 = COPY %loy(s64)189    $x11 = COPY %hiy(s64)190    PseudoRET implicit $x10, implicit $x11191 192...193---194name:            lshr_i192195body:             |196  bb.0.entry:197    ; CHECK-LABEL: name: lshr_i192198    ; CHECK: %lo1:_(s64) = COPY $x10199    ; CHECK-NEXT: %mid1:_(s64) = COPY $x11200    ; CHECK-NEXT: %hi1:_(s64) = COPY $x12201    ; CHECK-NEXT: %lo2:_(s64) = COPY $x13202    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0203    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 128204    ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s64) = G_SUB %lo2, [[C1]]205    ; CHECK-NEXT: [[SUB1:%[0-9]+]]:_(s64) = G_SUB [[C1]], %lo2206    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), %lo2(s64), [[C1]]207    ; CHECK-NEXT: [[ICMP1:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %lo2(s64), [[C]]208    ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 64209    ; CHECK-NEXT: [[SUB2:%[0-9]+]]:_(s64) = G_SUB %lo2, [[C2]]210    ; CHECK-NEXT: [[SUB3:%[0-9]+]]:_(s64) = G_SUB [[C2]], %lo2211    ; CHECK-NEXT: [[ICMP2:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), %lo2(s64), [[C2]]212    ; CHECK-NEXT: [[ICMP3:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %lo2(s64), [[C]]213    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR %hi1, %lo2(s64)214    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[C]], [[SUB3]](s64)215    ; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = G_OR [[LSHR]], [[SHL]]216    ; CHECK-NEXT: [[LSHR1:%[0-9]+]]:_(s64) = G_LSHR [[C]], [[SUB2]](s64)217    ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s64) = G_SELECT [[ICMP2]](s64), [[OR]], [[LSHR1]]218    ; CHECK-NEXT: [[SELECT1:%[0-9]+]]:_(s64) = G_SELECT [[ICMP3]](s64), %hi1, [[SELECT]]219    ; CHECK-NEXT: [[ICMP4:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), %lo2(s64), [[C2]]220    ; CHECK-NEXT: [[ICMP5:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), %lo2(s64), [[C]]221    ; CHECK-NEXT: [[LSHR2:%[0-9]+]]:_(s64) = G_LSHR %mid1, %lo2(s64)222    ; CHECK-NEXT: [[LSHR3:%[0-9]+]]:_(s64) = G_LSHR %lo1, %lo2(s64)223    ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s64) = G_SHL %mid1, [[SUB3]](s64)224    ; CHECK-NEXT: [[OR1:%[0-9]+]]:_(s64) = G_OR [[LSHR3]], [[SHL1]]225    ; CHECK-NEXT: [[LSHR4:%[0-9]+]]:_(s64) = G_LSHR %mid1, [[SUB2]](s64)226    ; CHECK-NEXT: [[SELECT2:%[0-9]+]]:_(s64) = G_SELECT [[ICMP4]](s64), [[OR1]], [[LSHR4]]227    ; CHECK-NEXT: [[SELECT3:%[0-9]+]]:_(s64) = G_SELECT [[ICMP5]](s64), %lo1, [[SELECT2]]228    ; CHECK-NEXT: [[SELECT4:%[0-9]+]]:_(s64) = G_SELECT [[ICMP4]](s64), [[LSHR2]], [[C]]229    ; CHECK-NEXT: [[SUB4:%[0-9]+]]:_(s64) = G_SUB [[SUB1]], [[C2]]230    ; CHECK-NEXT: [[SUB5:%[0-9]+]]:_(s64) = G_SUB [[C2]], [[SUB1]]231    ; CHECK-NEXT: [[ICMP6:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[SUB1]](s64), [[C2]]232    ; CHECK-NEXT: [[ICMP7:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[SUB1]](s64), [[C]]233    ; CHECK-NEXT: [[SHL2:%[0-9]+]]:_(s64) = G_SHL %hi1, [[SUB1]](s64)234    ; CHECK-NEXT: [[LSHR5:%[0-9]+]]:_(s64) = G_LSHR %hi1, [[SUB5]](s64)235    ; CHECK-NEXT: [[SHL3:%[0-9]+]]:_(s64) = G_SHL [[C]], [[SUB1]](s64)236    ; CHECK-NEXT: [[OR2:%[0-9]+]]:_(s64) = G_OR [[LSHR5]], [[SHL3]]237    ; CHECK-NEXT: [[SHL4:%[0-9]+]]:_(s64) = G_SHL %hi1, [[SUB4]](s64)238    ; CHECK-NEXT: [[SELECT5:%[0-9]+]]:_(s64) = G_SELECT [[ICMP6]](s64), [[SHL2]], [[C]]239    ; CHECK-NEXT: [[SELECT6:%[0-9]+]]:_(s64) = G_SELECT [[ICMP6]](s64), [[OR2]], [[SHL4]]240    ; CHECK-NEXT: [[SELECT7:%[0-9]+]]:_(s64) = G_SELECT [[ICMP7]](s64), [[C]], [[SELECT6]]241    ; CHECK-NEXT: [[OR3:%[0-9]+]]:_(s64) = G_OR [[SELECT3]], [[SELECT5]]242    ; CHECK-NEXT: [[OR4:%[0-9]+]]:_(s64) = G_OR [[SELECT4]], [[SELECT7]]243    ; CHECK-NEXT: [[SUB6:%[0-9]+]]:_(s64) = G_SUB [[SUB]], [[C2]]244    ; CHECK-NEXT: [[SUB7:%[0-9]+]]:_(s64) = G_SUB [[C2]], [[SUB]]245    ; CHECK-NEXT: [[ICMP8:%[0-9]+]]:_(s64) = G_ICMP intpred(ult), [[SUB]](s64), [[C2]]246    ; CHECK-NEXT: [[ICMP9:%[0-9]+]]:_(s64) = G_ICMP intpred(eq), [[SUB]](s64), [[C]]247    ; CHECK-NEXT: [[LSHR6:%[0-9]+]]:_(s64) = G_LSHR [[C]], [[SUB]](s64)248    ; CHECK-NEXT: [[LSHR7:%[0-9]+]]:_(s64) = G_LSHR %hi1, [[SUB]](s64)249    ; CHECK-NEXT: [[SHL5:%[0-9]+]]:_(s64) = G_SHL [[C]], [[SUB7]](s64)250    ; CHECK-NEXT: [[OR5:%[0-9]+]]:_(s64) = G_OR [[LSHR7]], [[SHL5]]251    ; CHECK-NEXT: [[LSHR8:%[0-9]+]]:_(s64) = G_LSHR [[C]], [[SUB6]](s64)252    ; CHECK-NEXT: [[SELECT8:%[0-9]+]]:_(s64) = G_SELECT [[ICMP8]](s64), [[OR5]], [[LSHR8]]253    ; CHECK-NEXT: [[SELECT9:%[0-9]+]]:_(s64) = G_SELECT [[ICMP9]](s64), %hi1, [[SELECT8]]254    ; CHECK-NEXT: [[SELECT10:%[0-9]+]]:_(s64) = G_SELECT [[ICMP8]](s64), [[LSHR6]], [[C]]255    ; CHECK-NEXT: [[SELECT11:%[0-9]+]]:_(s64) = G_SELECT [[ICMP]](s64), [[OR3]], [[SELECT9]]256    ; CHECK-NEXT: [[SELECT12:%[0-9]+]]:_(s64) = G_SELECT [[ICMP]](s64), [[OR4]], [[SELECT10]]257    ; CHECK-NEXT: [[SELECT13:%[0-9]+]]:_(s64) = G_SELECT [[ICMP1]](s64), %lo1, [[SELECT11]]258    ; CHECK-NEXT: [[SELECT14:%[0-9]+]]:_(s64) = G_SELECT [[ICMP1]](s64), %mid1, [[SELECT12]]259    ; CHECK-NEXT: [[SELECT15:%[0-9]+]]:_(s64) = G_SELECT [[ICMP]](s64), [[SELECT1]], [[C]]260    ; CHECK-NEXT: $x10 = COPY [[SELECT13]](s64)261    ; CHECK-NEXT: $x11 = COPY [[SELECT14]](s64)262    ; CHECK-NEXT: $x12 = COPY [[SELECT15]](s64)263    ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11, implicit $x12264    %lo1:_(s64) = COPY $x10265    %mid1:_(s64) = COPY $x11266    %hi1:_(s64) = COPY $x12267    %lo2:_(s64) = COPY $x13268    %mid2:_(s64) = COPY $x14269    %hi2:_(s64) = COPY $x15270    %x1:_(s192) = G_MERGE_VALUES %lo1(s64), %mid1(s64), %hi1(s64)271    %x2:_(s192) = G_MERGE_VALUES %lo2(s64), %mid2(s64), %hi2(s64)272    %y:_(s192) = G_LSHR %x1, %x2273    %lo:_(s64), %mid:_(s64), %hi:_(s64) = G_UNMERGE_VALUES %y(s192)274    $x10 = COPY %lo(s64)275    $x11 = COPY %mid(s64)276    $x12 = COPY %hi(s64)277    PseudoRET implicit $x10, implicit $x11, implicit $x12278 279...280---281name:            lshr_i48282body:             |283  bb.0:284    liveins: $x10, $x11285 286    ; CHECK-LABEL: name: lshr_i48287    ; CHECK: liveins: $x10, $x11288    ; CHECK-NEXT: {{  $}}289    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10290    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x11291    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 281474976710655292    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]293    ; CHECK-NEXT: [[AND1:%[0-9]+]]:_(s64) = G_AND [[COPY1]], [[C]]294    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR [[AND]], [[AND1]](s64)295    ; CHECK-NEXT: $x10 = COPY [[LSHR]](s64)296    ; CHECK-NEXT: PseudoRET implicit $x10297    %2:_(s64) = COPY $x10298    %0:_(s48) = G_TRUNC %2(s64)299    %3:_(s64) = COPY $x11300    %1:_(s48) = G_TRUNC %3(s64)301    %4:_(s48) = G_LSHR %0, %1(s48)302    %5:_(s64) = G_ANYEXT %4(s48)303    $x10 = COPY %5(s64)304    PseudoRET implicit $x10305 306...307---308name:            lshr_i32_i48309body:             |310  bb.1:311    liveins: $x10312 313    ; CHECK-LABEL: name: lshr_i32_i48314    ; CHECK: liveins: $x10315    ; CHECK-NEXT: {{  $}}316    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10317    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 16318    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 4294967295319    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C1]]320    ; CHECK-NEXT: [[LSHR:%[0-9]+]]:_(s64) = G_LSHR [[AND]], [[C]](s64)321    ; CHECK-NEXT: $x10 = COPY [[LSHR]](s64)322    ; CHECK-NEXT: PseudoRET implicit $x10323    %1:_(s64) = COPY $x10324    %0:_(s48) = G_TRUNC %1(s64)325    %2:_(s48) = G_CONSTANT i48 16326    %6:_(s32) = G_TRUNC %0(s48)327    %7:_(s32) = G_LSHR %6, %2(s48)328    %5:_(s64) = G_ANYEXT %7(s32)329    $x10 = COPY %5(s64)330    PseudoRET implicit $x10331 332...333