brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.8 KiB · 6142965 Raw
367 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -mattr=+d -run-pass=legalizer %s -o - \3# RUN: | FileCheck %s4 5---6name:            sitofp_s32_s17tracksRegLiveness: true8body:             |9  bb.1:10    liveins: $x1011 12    ; CHECK-LABEL: name: sitofp_s32_s113    ; CHECK: liveins: $x1014    ; CHECK-NEXT: {{  $}}15    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1016    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 3117    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)18    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)19    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s32) = G_SITOFP [[ASHR]](s32)20    ; CHECK-NEXT: $f10_f = COPY [[SITOFP]](s32)21    ; CHECK-NEXT: PseudoRET implicit $f10_f22    %1:_(s32) = COPY $x1023    %0:_(s1) = G_TRUNC %1(s32)24    %2:_(s32) = G_SITOFP %0(s1)25    $f10_f = COPY %2(s32)26    PseudoRET implicit $f10_f27 28...29---30name:            uitofp_s32_s131tracksRegLiveness: true32body:             |33  bb.1:34    liveins: $x1035 36    ; CHECK-LABEL: name: uitofp_s32_s137    ; CHECK: liveins: $x1038    ; CHECK-NEXT: {{  $}}39    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1040    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 141    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]42    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s32) = G_UITOFP [[AND]](s32)43    ; CHECK-NEXT: $f10_f = COPY [[UITOFP]](s32)44    ; CHECK-NEXT: PseudoRET implicit $f10_f45    %1:_(s32) = COPY $x1046    %0:_(s1) = G_TRUNC %1(s32)47    %2:_(s32) = G_UITOFP %0(s1)48    $f10_f = COPY %2(s32)49    PseudoRET implicit $f10_f50 51...52---53name:            sitofp_s32_s854tracksRegLiveness: true55body:             |56  bb.1:57    liveins: $x1058 59    ; CHECK-LABEL: name: sitofp_s32_s860    ; CHECK: liveins: $x1061    ; CHECK-NEXT: {{  $}}62    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1063    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 2464    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)65    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)66    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s32) = G_SITOFP [[ASHR]](s32)67    ; CHECK-NEXT: $f10_f = COPY [[SITOFP]](s32)68    ; CHECK-NEXT: PseudoRET implicit $f10_f69    %1:_(s32) = COPY $x1070    %0:_(s8) = G_TRUNC %1(s32)71    %2:_(s32) = G_SITOFP %0(s8)72    $f10_f = COPY %2(s32)73    PseudoRET implicit $f10_f74 75...76---77name:            uitofp_s32_s878tracksRegLiveness: true79body:             |80  bb.1:81    liveins: $x1082 83    ; CHECK-LABEL: name: uitofp_s32_s884    ; CHECK: liveins: $x1085    ; CHECK-NEXT: {{  $}}86    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x1087    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 25588    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]89    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s32) = G_UITOFP [[AND]](s32)90    ; CHECK-NEXT: $f10_f = COPY [[UITOFP]](s32)91    ; CHECK-NEXT: PseudoRET implicit $f10_f92    %1:_(s32) = COPY $x1093    %0:_(s8) = G_TRUNC %1(s32)94    %2:_(s32) = G_UITOFP %0(s8)95    $f10_f = COPY %2(s32)96    PseudoRET implicit $f10_f97 98...99---100name:            sitofp_s32_s16101tracksRegLiveness: true102body:             |103  bb.1:104    liveins: $x10105 106    ; CHECK-LABEL: name: sitofp_s32_s16107    ; CHECK: liveins: $x10108    ; CHECK-NEXT: {{  $}}109    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10110    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16111    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)112    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)113    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s32) = G_SITOFP [[ASHR]](s32)114    ; CHECK-NEXT: $f10_f = COPY [[SITOFP]](s32)115    ; CHECK-NEXT: PseudoRET implicit $f10_f116    %1:_(s32) = COPY $x10117    %0:_(s16) = G_TRUNC %1(s32)118    %2:_(s32) = G_SITOFP %0(s16)119    $f10_f = COPY %2(s32)120    PseudoRET implicit $f10_f121 122...123---124name:            uitofp_s32_s16125tracksRegLiveness: true126body:             |127  bb.1:128    liveins: $x10129 130    ; CHECK-LABEL: name: uitofp_s32_s16131    ; CHECK: liveins: $x10132    ; CHECK-NEXT: {{  $}}133    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10134    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535135    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]136    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s32) = G_UITOFP [[AND]](s32)137    ; CHECK-NEXT: $f10_f = COPY [[UITOFP]](s32)138    ; CHECK-NEXT: PseudoRET implicit $f10_f139    %1:_(s32) = COPY $x10140    %0:_(s16) = G_TRUNC %1(s32)141    %2:_(s32) = G_UITOFP %0(s16)142    $f10_f = COPY %2(s32)143    PseudoRET implicit $f10_f144 145...146---147name:            sitofp_s32_s32148tracksRegLiveness: true149body:             |150  bb.1:151    liveins: $x10152 153    ; CHECK-LABEL: name: sitofp_s32_s32154    ; CHECK: liveins: $x10155    ; CHECK-NEXT: {{  $}}156    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10157    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s32) = G_SITOFP [[COPY]](s32)158    ; CHECK-NEXT: $f10_f = COPY [[SITOFP]](s32)159    ; CHECK-NEXT: PseudoRET implicit $f10_f160    %0:_(s32) = COPY $x10161    %1:_(s32) = G_SITOFP %0(s32)162    $f10_f = COPY %1(s32)163    PseudoRET implicit $f10_f164 165...166---167name:            uitofp_s32_s32168tracksRegLiveness: true169body:             |170  bb.1:171    liveins: $x10172 173    ; CHECK-LABEL: name: uitofp_s32_s32174    ; CHECK: liveins: $x10175    ; CHECK-NEXT: {{  $}}176    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10177    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s32) = G_UITOFP [[COPY]](s32)178    ; CHECK-NEXT: $f10_f = COPY [[UITOFP]](s32)179    ; CHECK-NEXT: PseudoRET implicit $f10_f180    %0:_(s32) = COPY $x10181    %1:_(s32) = G_UITOFP %0(s32)182    $f10_f = COPY %1(s32)183    PseudoRET implicit $f10_f184 185...186---187name:            sitofp_s64_s1188tracksRegLiveness: true189body:             |190  bb.1:191    liveins: $x10192 193    ; CHECK-LABEL: name: sitofp_s64_s1194    ; CHECK: liveins: $x10195    ; CHECK-NEXT: {{  $}}196    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10197    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 31198    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)199    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)200    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s64) = G_SITOFP [[ASHR]](s32)201    ; CHECK-NEXT: $f10_d = COPY [[SITOFP]](s64)202    ; CHECK-NEXT: PseudoRET implicit $f10_d203    %1:_(s32) = COPY $x10204    %0:_(s1) = G_TRUNC %1(s32)205    %2:_(s64) = G_SITOFP %0(s1)206    $f10_d = COPY %2(s64)207    PseudoRET implicit $f10_d208 209...210---211name:            uitofp_s64_s1212tracksRegLiveness: true213body:             |214  bb.1:215    liveins: $x10216 217    ; CHECK-LABEL: name: uitofp_s64_s1218    ; CHECK: liveins: $x10219    ; CHECK-NEXT: {{  $}}220    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10221    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1222    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]223    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s64) = G_UITOFP [[AND]](s32)224    ; CHECK-NEXT: $f10_d = COPY [[UITOFP]](s64)225    ; CHECK-NEXT: PseudoRET implicit $f10_d226    %1:_(s32) = COPY $x10227    %0:_(s1) = G_TRUNC %1(s32)228    %2:_(s64) = G_UITOFP %0(s1)229    $f10_d = COPY %2(s64)230    PseudoRET implicit $f10_d231 232...233---234name:            sitofp_s64_s8235tracksRegLiveness: true236body:             |237  bb.1:238    liveins: $x10239 240    ; CHECK-LABEL: name: sitofp_s64_s8241    ; CHECK: liveins: $x10242    ; CHECK-NEXT: {{  $}}243    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10244    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 24245    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)246    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)247    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s64) = G_SITOFP [[ASHR]](s32)248    ; CHECK-NEXT: $f10_d = COPY [[SITOFP]](s64)249    ; CHECK-NEXT: PseudoRET implicit $f10_d250    %1:_(s32) = COPY $x10251    %0:_(s8) = G_TRUNC %1(s32)252    %2:_(s64) = G_SITOFP %0(s8)253    $f10_d = COPY %2(s64)254    PseudoRET implicit $f10_d255 256...257---258name:            uitofp_s64_s8259tracksRegLiveness: true260body:             |261  bb.1:262    liveins: $x10263 264    ; CHECK-LABEL: name: uitofp_s64_s8265    ; CHECK: liveins: $x10266    ; CHECK-NEXT: {{  $}}267    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10268    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 255269    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]270    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s64) = G_UITOFP [[AND]](s32)271    ; CHECK-NEXT: $f10_d = COPY [[UITOFP]](s64)272    ; CHECK-NEXT: PseudoRET implicit $f10_d273    %1:_(s32) = COPY $x10274    %0:_(s8) = G_TRUNC %1(s32)275    %2:_(s64) = G_UITOFP %0(s8)276    $f10_d = COPY %2(s64)277    PseudoRET implicit $f10_d278 279...280---281name:            sitofp_s64_s16282tracksRegLiveness: true283body:             |284  bb.1:285    liveins: $x10286 287    ; CHECK-LABEL: name: sitofp_s64_s16288    ; CHECK: liveins: $x10289    ; CHECK-NEXT: {{  $}}290    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10291    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 16292    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[COPY]], [[C]](s32)293    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[SHL]], [[C]](s32)294    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s64) = G_SITOFP [[ASHR]](s32)295    ; CHECK-NEXT: $f10_d = COPY [[SITOFP]](s64)296    ; CHECK-NEXT: PseudoRET implicit $f10_d297    %1:_(s32) = COPY $x10298    %0:_(s16) = G_TRUNC %1(s32)299    %2:_(s64) = G_SITOFP %0(s16)300    $f10_d = COPY %2(s64)301    PseudoRET implicit $f10_d302 303...304---305name:            uitofp_s64_s16306tracksRegLiveness: true307body:             |308  bb.1:309    liveins: $x10310 311    ; CHECK-LABEL: name: uitofp_s64_s16312    ; CHECK: liveins: $x10313    ; CHECK-NEXT: {{  $}}314    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10315    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 65535316    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C]]317    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s64) = G_UITOFP [[AND]](s32)318    ; CHECK-NEXT: $f10_d = COPY [[UITOFP]](s64)319    ; CHECK-NEXT: PseudoRET implicit $f10_d320    %1:_(s32) = COPY $x10321    %0:_(s16) = G_TRUNC %1(s32)322    %2:_(s64) = G_UITOFP %0(s16)323    $f10_d = COPY %2(s64)324    PseudoRET implicit $f10_d325 326...327---328name:            sitofp_s64_s32329tracksRegLiveness: true330body:             |331  bb.1:332    liveins: $x10333 334    ; CHECK-LABEL: name: sitofp_s64_s32335    ; CHECK: liveins: $x10336    ; CHECK-NEXT: {{  $}}337    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10338    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s64) = G_SITOFP [[COPY]](s32)339    ; CHECK-NEXT: $f10_d = COPY [[SITOFP]](s64)340    ; CHECK-NEXT: PseudoRET implicit $f10_d341    %0:_(s32) = COPY $x10342    %1:_(s64) = G_SITOFP %0(s32)343    $f10_d = COPY %1(s64)344    PseudoRET implicit $f10_d345 346...347---348name:            uitofp_s64_s32349tracksRegLiveness: true350body:             |351  bb.1:352    liveins: $x10353 354    ; CHECK-LABEL: name: uitofp_s64_s32355    ; CHECK: liveins: $x10356    ; CHECK-NEXT: {{  $}}357    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10358    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s64) = G_UITOFP [[COPY]](s32)359    ; CHECK-NEXT: $f10_d = COPY [[UITOFP]](s64)360    ; CHECK-NEXT: PseudoRET implicit $f10_d361    %0:_(s32) = COPY $x10362    %1:_(s64) = G_UITOFP %0(s32)363    $f10_d = COPY %1(s64)364    PseudoRET implicit $f10_d365 366...367