brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.5 KiB · f68902c Raw
186 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -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]+]]:_(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]+]]:_(s16) = G_SITOFP [[ASHR]](s32)20    ; CHECK-NEXT: $f10_h = COPY [[SITOFP]](s16)21    ; CHECK-NEXT: PseudoRET implicit $f10_h22    %1:_(s32) = COPY $x1023    %0:_(s1) = G_TRUNC %1(s32)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]+]]:_(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]+]]:_(s16) = G_UITOFP [[AND]](s32)43    ; CHECK-NEXT: $f10_h = COPY [[UITOFP]](s16)44    ; CHECK-NEXT: PseudoRET implicit $f10_h45    %1:_(s32) = COPY $x1046    %0:_(s1) = G_TRUNC %1(s32)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]+]]:_(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]+]]:_(s16) = G_SITOFP [[ASHR]](s32)67    ; CHECK-NEXT: $f10_h = COPY [[SITOFP]](s16)68    ; CHECK-NEXT: PseudoRET implicit $f10_h69    %1:_(s32) = COPY $x1070    %0:_(s8) = G_TRUNC %1(s32)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]+]]:_(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]+]]:_(s16) = G_UITOFP [[AND]](s32)90    ; CHECK-NEXT: $f10_h = COPY [[UITOFP]](s16)91    ; CHECK-NEXT: PseudoRET implicit $f10_h92    %1:_(s32) = COPY $x1093    %0:_(s8) = G_TRUNC %1(s32)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]+]]:_(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]+]]:_(s16) = G_SITOFP [[ASHR]](s32)114    ; CHECK-NEXT: $f10_h = COPY [[SITOFP]](s16)115    ; CHECK-NEXT: PseudoRET implicit $f10_h116    %1:_(s32) = COPY $x10117    %0:_(s16) = G_TRUNC %1(s32)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]+]]:_(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]+]]:_(s16) = G_UITOFP [[AND]](s32)137    ; CHECK-NEXT: $f10_h = COPY [[UITOFP]](s16)138    ; CHECK-NEXT: PseudoRET implicit $f10_h139    %1:_(s32) = COPY $x10140    %0:_(s16) = G_TRUNC %1(s32)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]+]]:_(s32) = COPY $x10157    ; CHECK-NEXT: [[SITOFP:%[0-9]+]]:_(s16) = G_SITOFP [[COPY]](s32)158    ; CHECK-NEXT: $f10_h = COPY [[SITOFP]](s16)159    ; CHECK-NEXT: PseudoRET implicit $f10_h160    %0:_(s32) = COPY $x10161    %1:_(s16) = G_SITOFP %0(s32)162    $f10_h = COPY %1(s16)163    PseudoRET implicit $f10_h164 165...166---167name:            uitofp_s16_s32168tracksRegLiveness: true169body:             |170  bb.1:171    liveins: $x10172 173    ; CHECK-LABEL: name: uitofp_s16_s32174    ; CHECK: liveins: $x10175    ; CHECK-NEXT: {{  $}}176    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10177    ; CHECK-NEXT: [[UITOFP:%[0-9]+]]:_(s16) = G_UITOFP [[COPY]](s32)178    ; CHECK-NEXT: $f10_h = COPY [[UITOFP]](s16)179    ; CHECK-NEXT: PseudoRET implicit $f10_h180    %0:_(s32) = COPY $x10181    %1:_(s16) = G_UITOFP %0(s32)182    $f10_h = COPY %1(s16)183    PseudoRET implicit $f10_h184 185...186