181 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv64 -mattr=+d -run-pass=instruction-select \3# RUN: -simplify-mir -verify-machineinstrs %s -o - | FileCheck %s4 5---6name: fptosi_s32_s327legalized: true8regBankSelected: 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]+]]:fpr32 = COPY $f10_f18 ; CHECK-NEXT: [[FCVT_W_S:%[0-9]+]]:gpr = nofpexcept FCVT_W_S [[COPY]], 119 ; CHECK-NEXT: $x10 = COPY [[FCVT_W_S]]20 ; CHECK-NEXT: PseudoRET implicit $x1021 %0:fprb(s32) = COPY $f10_f22 %1:gprb(s64) = G_FCVT_W_RV64 %0(s32), 123 $x10 = COPY %1(s64)24 PseudoRET implicit $x1025 26...27---28name: fptoui_s32_s3229legalized: true30regBankSelected: true31tracksRegLiveness: true32body: |33 bb.1:34 liveins: $f10_f35 36 ; CHECK-LABEL: name: fptoui_s32_s3237 ; CHECK: liveins: $f10_f38 ; CHECK-NEXT: {{ $}}39 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f40 ; CHECK-NEXT: [[FCVT_WU_S:%[0-9]+]]:gpr = nofpexcept FCVT_WU_S [[COPY]], 141 ; CHECK-NEXT: $x10 = COPY [[FCVT_WU_S]]42 ; CHECK-NEXT: PseudoRET implicit $x1043 %0:fprb(s32) = COPY $f10_f44 %1:gprb(s64) = G_FCVT_WU_RV64 %0(s32), 145 $x10 = COPY %1(s64)46 PseudoRET implicit $x1047 48...49---50name: fptosi_s64_s3251legalized: true52regBankSelected: true53tracksRegLiveness: true54body: |55 bb.1:56 liveins: $f10_f57 58 ; CHECK-LABEL: name: fptosi_s64_s3259 ; CHECK: liveins: $f10_f60 ; CHECK-NEXT: {{ $}}61 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f62 ; CHECK-NEXT: [[FCVT_L_S:%[0-9]+]]:gpr = nofpexcept FCVT_L_S [[COPY]], 163 ; CHECK-NEXT: $x10 = COPY [[FCVT_L_S]]64 ; CHECK-NEXT: PseudoRET implicit $x1065 %0:fprb(s32) = COPY $f10_f66 %1:gprb(s64) = G_FPTOSI %0(s32)67 $x10 = COPY %1(s64)68 PseudoRET implicit $x1069 70...71---72name: fptoui_s64_s3273legalized: true74regBankSelected: true75tracksRegLiveness: true76body: |77 bb.1:78 liveins: $f10_f79 80 ; CHECK-LABEL: name: fptoui_s64_s3281 ; CHECK: liveins: $f10_f82 ; CHECK-NEXT: {{ $}}83 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f84 ; CHECK-NEXT: [[FCVT_LU_S:%[0-9]+]]:gpr = nofpexcept FCVT_LU_S [[COPY]], 185 ; CHECK-NEXT: $x10 = COPY [[FCVT_LU_S]]86 ; CHECK-NEXT: PseudoRET implicit $x1087 %0:fprb(s32) = COPY $f10_f88 %1:gprb(s64) = G_FPTOUI %0(s32)89 $x10 = COPY %1(s64)90 PseudoRET implicit $x1091 92...93---94name: fptosi_s32_s6495legalized: true96regBankSelected: true97tracksRegLiveness: true98body: |99 bb.1:100 liveins: $f10_d101 102 ; CHECK-LABEL: name: fptosi_s32_s64103 ; CHECK: liveins: $f10_d104 ; CHECK-NEXT: {{ $}}105 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d106 ; CHECK-NEXT: [[FCVT_W_D:%[0-9]+]]:gpr = nofpexcept FCVT_W_D [[COPY]], 1107 ; CHECK-NEXT: $x10 = COPY [[FCVT_W_D]]108 ; CHECK-NEXT: PseudoRET implicit $x10109 %0:fprb(s64) = COPY $f10_d110 %1:gprb(s64) = G_FCVT_W_RV64 %0(s64), 1111 $x10 = COPY %1(s64)112 PseudoRET implicit $x10113 114...115---116name: fptoui_s32_s64117legalized: true118regBankSelected: true119tracksRegLiveness: true120body: |121 bb.1:122 liveins: $f10_d123 124 ; CHECK-LABEL: name: fptoui_s32_s64125 ; CHECK: liveins: $f10_d126 ; CHECK-NEXT: {{ $}}127 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d128 ; CHECK-NEXT: [[FCVT_WU_D:%[0-9]+]]:gpr = nofpexcept FCVT_WU_D [[COPY]], 1129 ; CHECK-NEXT: $x10 = COPY [[FCVT_WU_D]]130 ; CHECK-NEXT: PseudoRET implicit $x10131 %0:fprb(s64) = COPY $f10_d132 %1:gprb(s64) = G_FCVT_WU_RV64 %0(s64), 1133 $x10 = COPY %1(s64)134 PseudoRET implicit $x10135 136...137---138name: fptosi_s64_s64139legalized: true140regBankSelected: true141tracksRegLiveness: true142body: |143 bb.1:144 liveins: $f10_d145 146 ; CHECK-LABEL: name: fptosi_s64_s64147 ; CHECK: liveins: $f10_d148 ; CHECK-NEXT: {{ $}}149 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d150 ; CHECK-NEXT: [[FCVT_L_D:%[0-9]+]]:gpr = nofpexcept FCVT_L_D [[COPY]], 1151 ; CHECK-NEXT: $x10 = COPY [[FCVT_L_D]]152 ; CHECK-NEXT: PseudoRET implicit $x10153 %0:fprb(s64) = COPY $f10_d154 %1:gprb(s64) = G_FPTOSI %0(s64)155 $x10 = COPY %1(s64)156 PseudoRET implicit $x10157 158...159---160name: fptoui_s64_s64161legalized: true162regBankSelected: true163tracksRegLiveness: true164body: |165 bb.1:166 liveins: $f10_d167 168 ; CHECK-LABEL: name: fptoui_s64_s64169 ; CHECK: liveins: $f10_d170 ; CHECK-NEXT: {{ $}}171 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d172 ; CHECK-NEXT: [[FCVT_LU_D:%[0-9]+]]:gpr = nofpexcept FCVT_LU_D [[COPY]], 1173 ; CHECK-NEXT: $x10 = COPY [[FCVT_LU_D]]174 ; CHECK-NEXT: PseudoRET implicit $x10175 %0:fprb(s64) = COPY $f10_d176 %1:gprb(s64) = G_FPTOUI %0(s64)177 $x10 = COPY %1(s64)178 PseudoRET implicit $x10179 180...181