174 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv64 -mattr=+d -run-pass=regbankselect \3# RUN: -simplify-mir -verify-machineinstrs %s \4# RUN: -o - | FileCheck %s5 6---7name: fptosi_s32_s328legalized: true9tracksRegLiveness: true10body: |11 bb.1:12 liveins: $f10_f13 14 ; CHECK-LABEL: name: fptosi_s32_s3215 ; CHECK: liveins: $f10_f16 ; CHECK-NEXT: {{ $}}17 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f10_f18 ; CHECK-NEXT: [[FCVT_W_RV64_:%[0-9]+]]:gprb(s64) = G_FCVT_W_RV64 [[COPY]](s32), 119 ; CHECK-NEXT: $x10 = COPY [[FCVT_W_RV64_]](s64)20 ; CHECK-NEXT: PseudoRET implicit $x1021 %0:_(s32) = COPY $f10_f22 %1:_(s64) = G_FCVT_W_RV64 %0(s32), 123 $x10 = COPY %1(s64)24 PseudoRET implicit $x1025 26...27---28name: fptoui_s32_s3229legalized: true30tracksRegLiveness: true31body: |32 bb.1:33 liveins: $f10_f34 35 ; CHECK-LABEL: name: fptoui_s32_s3236 ; CHECK: liveins: $f10_f37 ; CHECK-NEXT: {{ $}}38 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f10_f39 ; CHECK-NEXT: [[FCVT_WU_RV64_:%[0-9]+]]:gprb(s64) = G_FCVT_WU_RV64 [[COPY]](s32), 140 ; CHECK-NEXT: $x10 = COPY [[FCVT_WU_RV64_]](s64)41 ; CHECK-NEXT: PseudoRET implicit $x1042 %0:_(s32) = COPY $f10_f43 %1:_(s64) = G_FCVT_WU_RV64 %0(s32), 144 $x10 = COPY %1(s64)45 PseudoRET implicit $x1046 47...48---49name: fptosi_s64_s3250legalized: true51tracksRegLiveness: true52body: |53 bb.1:54 liveins: $f10_f55 56 ; CHECK-LABEL: name: fptosi_s64_s3257 ; CHECK: liveins: $f10_f58 ; CHECK-NEXT: {{ $}}59 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f10_f60 ; CHECK-NEXT: [[FPTOSI:%[0-9]+]]:gprb(s64) = G_FPTOSI [[COPY]](s32)61 ; CHECK-NEXT: $x10 = COPY [[FPTOSI]](s64)62 ; CHECK-NEXT: PseudoRET implicit $x1063 %0:_(s32) = COPY $f10_f64 %1:_(s64) = G_FPTOSI %0(s32)65 $x10 = COPY %1(s64)66 PseudoRET implicit $x1067 68...69---70name: fptoui_s64_s3271legalized: true72tracksRegLiveness: true73body: |74 bb.1:75 liveins: $f10_f76 77 ; CHECK-LABEL: name: fptoui_s64_s3278 ; CHECK: liveins: $f10_f79 ; CHECK-NEXT: {{ $}}80 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f10_f81 ; CHECK-NEXT: [[FPTOUI:%[0-9]+]]:gprb(s64) = G_FPTOUI [[COPY]](s32)82 ; CHECK-NEXT: $x10 = COPY [[FPTOUI]](s64)83 ; CHECK-NEXT: PseudoRET implicit $x1084 %0:_(s32) = COPY $f10_f85 %1:_(s64) = G_FPTOUI %0(s32)86 $x10 = COPY %1(s64)87 PseudoRET implicit $x1088 89...90---91name: fptosi_s32_s6492legalized: true93tracksRegLiveness: true94body: |95 bb.1:96 liveins: $f10_d97 98 ; CHECK-LABEL: name: fptosi_s32_s6499 ; CHECK: liveins: $f10_d100 ; CHECK-NEXT: {{ $}}101 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s64) = COPY $f10_d102 ; CHECK-NEXT: [[FCVT_W_RV64_:%[0-9]+]]:gprb(s64) = G_FCVT_W_RV64 [[COPY]](s64), 1103 ; CHECK-NEXT: $x10 = COPY [[FCVT_W_RV64_]](s64)104 ; CHECK-NEXT: PseudoRET implicit $x10105 %0:_(s64) = COPY $f10_d106 %1:_(s64) = G_FCVT_W_RV64 %0(s64), 1107 $x10 = COPY %1(s64)108 PseudoRET implicit $x10109 110...111---112name: fptoui_s32_s64113legalized: true114tracksRegLiveness: true115body: |116 bb.1:117 liveins: $f10_d118 119 ; CHECK-LABEL: name: fptoui_s32_s64120 ; CHECK: liveins: $f10_d121 ; CHECK-NEXT: {{ $}}122 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s64) = COPY $f10_d123 ; CHECK-NEXT: [[FCVT_W_RV64_:%[0-9]+]]:gprb(s64) = G_FCVT_W_RV64 [[COPY]](s64), 1124 ; CHECK-NEXT: $x10 = COPY [[FCVT_W_RV64_]](s64)125 ; CHECK-NEXT: PseudoRET implicit $x10126 %0:_(s64) = COPY $f10_d127 %1:_(s64) = G_FCVT_W_RV64 %0(s64), 1128 $x10 = COPY %1(s64)129 PseudoRET implicit $x10130 131...132---133name: fptosi_s64_s64134legalized: true135tracksRegLiveness: true136body: |137 bb.1:138 liveins: $f10_d139 140 ; CHECK-LABEL: name: fptosi_s64_s64141 ; CHECK: liveins: $f10_d142 ; CHECK-NEXT: {{ $}}143 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s64) = COPY $f10_d144 ; CHECK-NEXT: [[FPTOSI:%[0-9]+]]:gprb(s64) = G_FPTOSI [[COPY]](s64)145 ; CHECK-NEXT: $x10 = COPY [[FPTOSI]](s64)146 ; CHECK-NEXT: PseudoRET implicit $x10147 %0:_(s64) = COPY $f10_d148 %1:_(s64) = G_FPTOSI %0(s64)149 $x10 = COPY %1(s64)150 PseudoRET implicit $x10151 152...153---154name: fptoui_s64_s64155legalized: true156tracksRegLiveness: true157body: |158 bb.1:159 liveins: $f10_d160 161 ; CHECK-LABEL: name: fptoui_s64_s64162 ; CHECK: liveins: $f10_d163 ; CHECK-NEXT: {{ $}}164 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fprb(s64) = COPY $f10_d165 ; CHECK-NEXT: [[FPTOUI:%[0-9]+]]:gprb(s64) = G_FPTOUI [[COPY]](s64)166 ; CHECK-NEXT: $x10 = COPY [[FPTOUI]](s64)167 ; CHECK-NEXT: PseudoRET implicit $x10168 %0:_(s64) = COPY $f10_d169 %1:_(s64) = G_FPTOUI %0(s64)170 $x10 = COPY %1(s64)171 PseudoRET implicit $x10172 173...174