321 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: fptosi_s1_s327body: |8 bb.1:9 liveins: $f10_f10 11 ; CHECK-LABEL: name: fptosi_s1_s3212 ; CHECK: liveins: $f10_f13 ; CHECK-NEXT: {{ $}}14 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $f10_f15 ; CHECK-NEXT: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[COPY]](s32)16 ; CHECK-NEXT: $x10 = COPY [[FPTOSI]](s32)17 ; CHECK-NEXT: PseudoRET implicit $x1018 %0:_(s32) = COPY $f10_f19 %1:_(s1) = G_FPTOSI %0(s32)20 %2:_(s32) = G_ANYEXT %1(s1)21 $x10 = COPY %2(s32)22 PseudoRET implicit $x1023 24...25---26name: fptoui_s1_s3227body: |28 bb.1:29 liveins: $f10_f30 31 ; CHECK-LABEL: name: fptoui_s1_s3232 ; CHECK: liveins: $f10_f33 ; CHECK-NEXT: {{ $}}34 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $f10_f35 ; CHECK-NEXT: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s32)36 ; CHECK-NEXT: $x10 = COPY [[FPTOUI]](s32)37 ; CHECK-NEXT: PseudoRET implicit $x1038 %0:_(s32) = COPY $f10_f39 %1:_(s1) = G_FPTOUI %0(s32)40 %2:_(s32) = G_ANYEXT %1(s1)41 $x10 = COPY %2(s32)42 PseudoRET implicit $x1043 44...45---46name: fptosi_s8_s3247body: |48 bb.1:49 liveins: $f10_f50 51 ; CHECK-LABEL: name: fptosi_s8_s3252 ; CHECK: liveins: $f10_f53 ; CHECK-NEXT: {{ $}}54 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $f10_f55 ; CHECK-NEXT: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[COPY]](s32)56 ; CHECK-NEXT: $x10 = COPY [[FPTOSI]](s32)57 ; CHECK-NEXT: PseudoRET implicit $x1058 %0:_(s32) = COPY $f10_f59 %1:_(s8) = G_FPTOSI %0(s32)60 %2:_(s32) = G_ANYEXT %1(s8)61 $x10 = COPY %2(s32)62 PseudoRET implicit $x1063 64...65---66name: fptoui_s8_s3267body: |68 bb.1:69 liveins: $f10_f70 71 ; CHECK-LABEL: name: fptoui_s8_s3272 ; CHECK: liveins: $f10_f73 ; CHECK-NEXT: {{ $}}74 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $f10_f75 ; CHECK-NEXT: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s32)76 ; CHECK-NEXT: $x10 = COPY [[FPTOUI]](s32)77 ; CHECK-NEXT: PseudoRET implicit $x1078 %0:_(s32) = COPY $f10_f79 %1:_(s8) = G_FPTOUI %0(s32)80 %2:_(s32) = G_ANYEXT %1(s8)81 $x10 = COPY %2(s32)82 PseudoRET implicit $x1083 84...85---86name: fptosi_s16_s3287body: |88 bb.1:89 liveins: $f10_f90 91 ; CHECK-LABEL: name: fptosi_s16_s3292 ; CHECK: liveins: $f10_f93 ; CHECK-NEXT: {{ $}}94 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $f10_f95 ; CHECK-NEXT: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[COPY]](s32)96 ; CHECK-NEXT: $x10 = COPY [[FPTOSI]](s32)97 ; CHECK-NEXT: PseudoRET implicit $x1098 %0:_(s32) = COPY $f10_f99 %1:_(s16) = G_FPTOSI %0(s32)100 %2:_(s32) = G_ANYEXT %1(s16)101 $x10 = COPY %2(s32)102 PseudoRET implicit $x10103 104...105---106name: fptoui_s16_s32107body: |108 bb.1:109 liveins: $f10_f110 111 ; CHECK-LABEL: name: fptoui_s16_s32112 ; CHECK: liveins: $f10_f113 ; CHECK-NEXT: {{ $}}114 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $f10_f115 ; CHECK-NEXT: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s32)116 ; CHECK-NEXT: $x10 = COPY [[FPTOUI]](s32)117 ; CHECK-NEXT: PseudoRET implicit $x10118 %0:_(s32) = COPY $f10_f119 %1:_(s16) = G_FPTOUI %0(s32)120 %2:_(s32) = G_ANYEXT %1(s16)121 $x10 = COPY %2(s32)122 PseudoRET implicit $x10123 124...125---126name: fptosi_s32_s32127body: |128 bb.1:129 liveins: $f10_f130 131 ; CHECK-LABEL: name: fptosi_s32_s32132 ; CHECK: liveins: $f10_f133 ; CHECK-NEXT: {{ $}}134 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $f10_f135 ; CHECK-NEXT: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[COPY]](s32)136 ; CHECK-NEXT: $x10 = COPY [[FPTOSI]](s32)137 ; CHECK-NEXT: PseudoRET implicit $x10138 %0:_(s32) = COPY $f10_f139 %1:_(s32) = G_FPTOSI %0(s32)140 $x10 = COPY %1(s32)141 PseudoRET implicit $x10142 143...144---145name: fptoui_s32_s32146body: |147 bb.1:148 liveins: $f10_f149 150 ; CHECK-LABEL: name: fptoui_s32_s32151 ; CHECK: liveins: $f10_f152 ; CHECK-NEXT: {{ $}}153 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $f10_f154 ; CHECK-NEXT: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s32)155 ; CHECK-NEXT: $x10 = COPY [[FPTOUI]](s32)156 ; CHECK-NEXT: PseudoRET implicit $x10157 %0:_(s32) = COPY $f10_f158 %1:_(s32) = G_FPTOUI %0(s32)159 $x10 = COPY %1(s32)160 PseudoRET implicit $x10161 162...163---164name: fptosi_s1_s64165body: |166 bb.1:167 liveins: $f10_d168 169 ; CHECK-LABEL: name: fptosi_s1_s64170 ; CHECK: liveins: $f10_d171 ; CHECK-NEXT: {{ $}}172 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $f10_d173 ; CHECK-NEXT: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[COPY]](s64)174 ; CHECK-NEXT: $x10 = COPY [[FPTOSI]](s32)175 ; CHECK-NEXT: PseudoRET implicit $x10176 %0:_(s64) = COPY $f10_d177 %1:_(s1) = G_FPTOSI %0(s64)178 %2:_(s32) = G_ANYEXT %1(s1)179 $x10 = COPY %2(s32)180 PseudoRET implicit $x10181 182...183---184name: fptoui_s1_s64185body: |186 bb.1:187 liveins: $f10_d188 189 ; CHECK-LABEL: name: fptoui_s1_s64190 ; CHECK: liveins: $f10_d191 ; CHECK-NEXT: {{ $}}192 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $f10_d193 ; CHECK-NEXT: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s64)194 ; CHECK-NEXT: $x10 = COPY [[FPTOUI]](s32)195 ; CHECK-NEXT: PseudoRET implicit $x10196 %0:_(s64) = COPY $f10_d197 %1:_(s1) = G_FPTOUI %0(s64)198 %2:_(s32) = G_ANYEXT %1(s1)199 $x10 = COPY %2(s32)200 PseudoRET implicit $x10201 202...203---204name: fptosi_s8_s64205body: |206 bb.1:207 liveins: $f10_d208 209 ; CHECK-LABEL: name: fptosi_s8_s64210 ; CHECK: liveins: $f10_d211 ; CHECK-NEXT: {{ $}}212 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $f10_d213 ; CHECK-NEXT: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[COPY]](s64)214 ; CHECK-NEXT: $x10 = COPY [[FPTOSI]](s32)215 ; CHECK-NEXT: PseudoRET implicit $x10216 %0:_(s64) = COPY $f10_d217 %1:_(s8) = G_FPTOSI %0(s64)218 %2:_(s32) = G_ANYEXT %1(s8)219 $x10 = COPY %2(s32)220 PseudoRET implicit $x10221 222...223---224name: fptoui_s8_s64225body: |226 bb.1:227 liveins: $f10_d228 229 ; CHECK-LABEL: name: fptoui_s8_s64230 ; CHECK: liveins: $f10_d231 ; CHECK-NEXT: {{ $}}232 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $f10_d233 ; CHECK-NEXT: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s64)234 ; CHECK-NEXT: $x10 = COPY [[FPTOUI]](s32)235 ; CHECK-NEXT: PseudoRET implicit $x10236 %0:_(s64) = COPY $f10_d237 %1:_(s8) = G_FPTOUI %0(s64)238 %2:_(s32) = G_ANYEXT %1(s8)239 $x10 = COPY %2(s32)240 PseudoRET implicit $x10241 242...243---244name: fptosi_s16_s64245body: |246 bb.1:247 liveins: $f10_d248 249 ; CHECK-LABEL: name: fptosi_s16_s64250 ; CHECK: liveins: $f10_d251 ; CHECK-NEXT: {{ $}}252 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $f10_d253 ; CHECK-NEXT: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[COPY]](s64)254 ; CHECK-NEXT: $x10 = COPY [[FPTOSI]](s32)255 ; CHECK-NEXT: PseudoRET implicit $x10256 %0:_(s64) = COPY $f10_d257 %1:_(s16) = G_FPTOSI %0(s64)258 %2:_(s32) = G_ANYEXT %1(s16)259 $x10 = COPY %2(s32)260 PseudoRET implicit $x10261 262...263---264name: fptoui_s16_s64265body: |266 bb.1:267 liveins: $f10_d268 269 ; CHECK-LABEL: name: fptoui_s16_s64270 ; CHECK: liveins: $f10_d271 ; CHECK-NEXT: {{ $}}272 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $f10_d273 ; CHECK-NEXT: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s64)274 ; CHECK-NEXT: $x10 = COPY [[FPTOUI]](s32)275 ; CHECK-NEXT: PseudoRET implicit $x10276 %0:_(s64) = COPY $f10_d277 %1:_(s16) = G_FPTOUI %0(s64)278 %2:_(s32) = G_ANYEXT %1(s16)279 $x10 = COPY %2(s32)280 PseudoRET implicit $x10281 282...283---284name: fptosi_s32_s64285body: |286 bb.1:287 liveins: $f10_d288 289 ; CHECK-LABEL: name: fptosi_s32_s64290 ; CHECK: liveins: $f10_d291 ; CHECK-NEXT: {{ $}}292 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $f10_d293 ; CHECK-NEXT: [[FPTOSI:%[0-9]+]]:_(s32) = G_FPTOSI [[COPY]](s64)294 ; CHECK-NEXT: $x10 = COPY [[FPTOSI]](s32)295 ; CHECK-NEXT: PseudoRET implicit $x10296 %0:_(s64) = COPY $f10_d297 %1:_(s32) = G_FPTOSI %0(s64)298 $x10 = COPY %1(s32)299 PseudoRET implicit $x10300 301...302---303name: fptoui_s32_s64304body: |305 bb.1:306 liveins: $f10_d307 308 ; CHECK-LABEL: name: fptoui_s32_s64309 ; CHECK: liveins: $f10_d310 ; CHECK-NEXT: {{ $}}311 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $f10_d312 ; CHECK-NEXT: [[FPTOUI:%[0-9]+]]:_(s32) = G_FPTOUI [[COPY]](s64)313 ; CHECK-NEXT: $x10 = COPY [[FPTOUI]](s32)314 ; CHECK-NEXT: PseudoRET implicit $x10315 %0:_(s64) = COPY $f10_d316 %1:_(s32) = G_FPTOUI %0(s64)317 $x10 = COPY %1(s32)318 PseudoRET implicit $x10319 320...321