brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.8 KiB · 6a70a33 Raw
231 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 32# RUN: llc -mtriple=riscv64 -mattr=+zfh -run-pass=legalizer %s -o - \3# RUN: | FileCheck %s4 5---6name:            sitofp_s16_s17tracksRegLiveness: true8body:             |9  bb.1:10    liveins: $x1011 12    ; CHECK-LABEL: name: sitofp_s16_s113    ; CHECK: liveins: $x1014    ; CHECK-NEXT: {{  $}}15    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x1016    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 6317    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)18    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)19    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s16) = G_SITOFP [[ASHR]](s64)20    ; CHECK-NEXT: $f10_h = COPY [[SITOFP]](s16)21    ; CHECK-NEXT: PseudoRET implicit $f10_h22    %1:_(s64) = COPY $x1023    %0:_(s1) = G_TRUNC %1(s64)24    %2:_(s16) = G_SITOFP %0(s1)25    $f10_h = COPY %2(s16)26    PseudoRET implicit $f10_h27 28...29---30name:            uitofp_s16_s131tracksRegLiveness: true32body:             |33  bb.1:34    liveins: $x1035 36    ; CHECK-LABEL: name: uitofp_s16_s137    ; CHECK: liveins: $x1038    ; CHECK-NEXT: {{  $}}39    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x1040    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 141    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]42    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s16) = G_UITOFP [[AND]](s64)43    ; CHECK-NEXT: $f10_h = COPY [[UITOFP]](s16)44    ; CHECK-NEXT: PseudoRET implicit $f10_h45    %1:_(s64) = COPY $x1046    %0:_(s1) = G_TRUNC %1(s64)47    %2:_(s16) = G_UITOFP %0(s1)48    $f10_h = COPY %2(s16)49    PseudoRET implicit $f10_h50 51...52---53name:            sitofp_s16_s854tracksRegLiveness: true55body:             |56  bb.1:57    liveins: $x1058 59    ; CHECK-LABEL: name: sitofp_s16_s860    ; CHECK: liveins: $x1061    ; CHECK-NEXT: {{  $}}62    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x1063    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 5664    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)65    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)66    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s16) = G_SITOFP [[ASHR]](s64)67    ; CHECK-NEXT: $f10_h = COPY [[SITOFP]](s16)68    ; CHECK-NEXT: PseudoRET implicit $f10_h69    %1:_(s64) = COPY $x1070    %0:_(s8) = G_TRUNC %1(s64)71    %2:_(s16) = G_SITOFP %0(s8)72    $f10_h = COPY %2(s16)73    PseudoRET implicit $f10_h74 75...76---77name:            uitofp_s16_s878tracksRegLiveness: true79body:             |80  bb.1:81    liveins: $x1082 83    ; CHECK-LABEL: name: uitofp_s16_s884    ; CHECK: liveins: $x1085    ; CHECK-NEXT: {{  $}}86    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x1087    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 25588    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]89    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s16) = G_UITOFP [[AND]](s64)90    ; CHECK-NEXT: $f10_h = COPY [[UITOFP]](s16)91    ; CHECK-NEXT: PseudoRET implicit $f10_h92    %1:_(s64) = COPY $x1093    %0:_(s8) = G_TRUNC %1(s64)94    %2:_(s16) = G_UITOFP %0(s8)95    $f10_h = COPY %2(s16)96    PseudoRET implicit $f10_h97 98...99---100name:            sitofp_s16_s16101tracksRegLiveness: true102body:             |103  bb.1:104    liveins: $x10105 106    ; CHECK-LABEL: name: sitofp_s16_s16107    ; CHECK: liveins: $x10108    ; CHECK-NEXT: {{  $}}109    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10110    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 48111    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)112    ; CHECK-NEXT: [[ASHR:%[0-9]+]]:_(s64) = G_ASHR [[SHL]], [[C]](s64)113    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s16) = G_SITOFP [[ASHR]](s64)114    ; CHECK-NEXT: $f10_h = COPY [[SITOFP]](s16)115    ; CHECK-NEXT: PseudoRET implicit $f10_h116    %1:_(s64) = COPY $x10117    %0:_(s16) = G_TRUNC %1(s64)118    %2:_(s16) = G_SITOFP %0(s16)119    $f10_h = COPY %2(s16)120    PseudoRET implicit $f10_h121 122...123---124name:            uitofp_s16_s16125tracksRegLiveness: true126body:             |127  bb.1:128    liveins: $x10129 130    ; CHECK-LABEL: name: uitofp_s16_s16131    ; CHECK: liveins: $x10132    ; CHECK-NEXT: {{  $}}133    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10134    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 65535135    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]136    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s16) = G_UITOFP [[AND]](s64)137    ; CHECK-NEXT: $f10_h = COPY [[UITOFP]](s16)138    ; CHECK-NEXT: PseudoRET implicit $f10_h139    %1:_(s64) = COPY $x10140    %0:_(s16) = G_TRUNC %1(s64)141    %2:_(s16) = G_UITOFP %0(s16)142    $f10_h = COPY %2(s16)143    PseudoRET implicit $f10_h144 145...146---147name:            sitofp_s16_s32148tracksRegLiveness: true149body:             |150  bb.1:151    liveins: $x10152 153    ; CHECK-LABEL: name: sitofp_s16_s32154    ; CHECK: liveins: $x10155    ; CHECK-NEXT: {{  $}}156    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10157    ; CHECK-NEXT: [[SEXT_INREG:%[0-9]+]]:_(s64) = G_SEXT_INREG [[COPY]], 32158    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s16) = G_SITOFP [[SEXT_INREG]](s64)159    ; CHECK-NEXT: $f10_h = COPY [[SITOFP]](s16)160    ; CHECK-NEXT: PseudoRET implicit $f10_h161    %1:_(s64) = COPY $x10162    %0:_(s32) = G_TRUNC %1(s64)163    %2:_(s16) = G_SITOFP %0(s32)164    $f10_h = COPY %2(s16)165    PseudoRET implicit $f10_h166 167...168---169name:            uitofp_s16_s32170tracksRegLiveness: true171body:             |172  bb.1:173    liveins: $x10174 175    ; CHECK-LABEL: name: uitofp_s16_s32176    ; CHECK: liveins: $x10177    ; CHECK-NEXT: {{  $}}178    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10179    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 4294967295180    ; CHECK-NEXT: [[AND:%[0-9]+]]:_(s64) = G_AND [[COPY]], [[C]]181    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s16) = G_UITOFP [[AND]](s64)182    ; CHECK-NEXT: $f10_h = COPY [[UITOFP]](s16)183    ; CHECK-NEXT: PseudoRET implicit $f10_h184    %1:_(s64) = COPY $x10185    %0:_(s32) = G_TRUNC %1(s64)186    %2:_(s16) = G_UITOFP %0(s32)187    $f10_h = COPY %2(s16)188    PseudoRET implicit $f10_h189 190...191---192name:            sitofp_s16_s64193tracksRegLiveness: true194body:             |195  bb.1:196    liveins: $x10197 198    ; CHECK-LABEL: name: sitofp_s16_s64199    ; CHECK: liveins: $x10200    ; CHECK-NEXT: {{  $}}201    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10202    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s16) = G_SITOFP [[COPY]](s64)203    ; CHECK-NEXT: $f10_h = COPY [[SITOFP]](s16)204    ; CHECK-NEXT: PseudoRET implicit $f10_h205    %0:_(s64) = COPY $x10206    %1:_(s16) = G_SITOFP %0(s64)207    $f10_h = COPY %1(s16)208    PseudoRET implicit $f10_h209 210...211---212name:            uitofp_s16_s64213tracksRegLiveness: true214body:             |215  bb.1:216    liveins: $x10217 218    ; CHECK-LABEL: name: uitofp_s16_s64219    ; CHECK: liveins: $x10220    ; CHECK-NEXT: {{  $}}221    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10222    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s16) = G_UITOFP [[COPY]](s64)223    ; CHECK-NEXT: $f10_h = COPY [[UITOFP]](s16)224    ; CHECK-NEXT: PseudoRET implicit $f10_h225    %0:_(s64) = COPY $x10226    %1:_(s16) = G_UITOFP %0(s64)227    $f10_h = COPY %1(s16)228    PseudoRET implicit $f10_h229 230...231