[AArch64] Unroll some loops with early-continues on Apple Silicon. (#118499)
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / legalizer / legalize-fptoi-rv64-libcall.mir
blob629ad24f8780b8005bb334061b2d8e454e14fe68
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv64 -mattr=-d -mattr=-f -run-pass=legalizer %s -o - \
3 # RUN: | FileCheck %s
5 ---
6 name:            fptosi_s1_s32
7 body:             |
8   bb.1:
9     liveins: $x10
10     ; CHECK-LABEL: name: fptosi_s1_s32
11     ; CHECK: liveins: $x10
12     ; CHECK-NEXT: {{  $}}
13     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
14     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
15     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
16     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixsfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
17     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
18     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
19     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
20     ; CHECK-NEXT: PseudoRET implicit $x10
21     %1:_(s64) = COPY $x10
22     %0:_(s32) = G_TRUNC %1:_(s64)
23     %2:_(s1) = G_FPTOSI %0:_(s32)
24     %3:_(s64) = G_ANYEXT %2:_(s1)
25     $x10 = COPY %3:_(s64)
26     PseudoRET implicit $x10
28 ...
29 ---
30 name:            fptoui_s1_s32
31 body:             |
32   bb.1:
33     liveins: $x10
34     ; CHECK-LABEL: name: fptoui_s1_s32
35     ; CHECK: liveins: $x10
36     ; CHECK-NEXT: {{  $}}
37     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
38     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
39     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
40     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixunssfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
41     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
42     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
43     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
44     ; CHECK-NEXT: PseudoRET implicit $x10
45     %1:_(s64) = COPY $x10
46     %0:_(s32) = G_TRUNC %1:_(s64)
47     %2:_(s1) = G_FPTOUI %0:_(s32)
48     %3:_(s64) = G_ANYEXT %2:_(s1)
49     $x10 = COPY %3:_(s64)
50     PseudoRET implicit $x10
52 ...
53 ---
54 name:            fptosi_s8_s32
55 body:             |
56   bb.1:
57     liveins: $x10
58     ; CHECK-LABEL: name: fptosi_s8_s32
59     ; CHECK: liveins: $x10
60     ; CHECK-NEXT: {{  $}}
61     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
62     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
63     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
64     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixsfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
65     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
66     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
67     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
68     ; CHECK-NEXT: PseudoRET implicit $x10
69     %1:_(s64) = COPY $x10
70     %0:_(s32) = G_TRUNC %1:_(s64)
71     %2:_(s8) = G_FPTOSI %0:_(s32)
72     %3:_(s64) = G_ANYEXT %2:_(s8)
73     $x10 = COPY %3:_(s64)
74     PseudoRET implicit $x10
76 ...
77 ---
78 name:            fptoui_s8_s32
79 body:             |
80   bb.1:
81     liveins: $x10
82     ; CHECK-LABEL: name: fptoui_s8_s32
83     ; CHECK: liveins: $x10
84     ; CHECK-NEXT: {{  $}}
85     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
86     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
87     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
88     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixunssfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
89     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
90     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
91     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
92     ; CHECK-NEXT: PseudoRET implicit $x10
93     %1:_(s64) = COPY $x10
94     %0:_(s32) = G_TRUNC %1:_(s64)
95     %2:_(s8) = G_FPTOUI %0:_(s32)
96     %3:_(s64) = G_ANYEXT %2:_(s8)
97     $x10 = COPY %3:_(s64)
98     PseudoRET implicit $x10
102 name:            fptosi_s16_s32
103 body:             |
104   bb.1:
105     liveins: $x10
106     ; CHECK-LABEL: name: fptosi_s16_s32
107     ; CHECK: liveins: $x10
108     ; CHECK-NEXT: {{  $}}
109     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
110     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
111     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
112     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixsfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
113     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
114     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
115     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
116     ; CHECK-NEXT: PseudoRET implicit $x10
117     %1:_(s64) = COPY $x10
118     %0:_(s32) = G_TRUNC %1:_(s64)
119     %2:_(s16) = G_FPTOSI %0:_(s32)
120     %3:_(s64) = G_ANYEXT %2:_(s16)
121     $x10 = COPY %3:_(s64)
122     PseudoRET implicit $x10
126 name:            fptoui_s16_s32
127 body:             |
128   bb.1:
129     liveins: $x10
130     ; CHECK-LABEL: name: fptoui_s16_s32
131     ; CHECK: liveins: $x10
132     ; CHECK-NEXT: {{  $}}
133     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
134     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
135     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
136     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixunssfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
137     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
138     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
139     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
140     ; CHECK-NEXT: PseudoRET implicit $x10
141     %1:_(s64) = COPY $x10
142     %0:_(s32) = G_TRUNC %1:_(s64)
143     %2:_(s16) = G_FPTOUI %0:_(s32)
144     %3:_(s64) = G_ANYEXT %2:_(s16)
145     $x10 = COPY %3:_(s64)
146     PseudoRET implicit $x10
150 name:            fptosi_s32_s32
151 body:             |
152   bb.1:
153     liveins: $x10
154     ; CHECK-LABEL: name: fptosi_s32_s32
155     ; CHECK: liveins: $x10
156     ; CHECK-NEXT: {{  $}}
157     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
158     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
159     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
160     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixsfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
161     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
162     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
163     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
164     ; CHECK-NEXT: PseudoRET implicit $x10
165     %1:_(s64) = COPY $x10
166     %0:_(s32) = G_TRUNC %1:_(s64)
167     %2:_(s32) = G_FPTOSI %0:_(s32)
168     %3:_(s64) = G_ANYEXT %2:_(s32)
169     $x10 = COPY %3:_(s64)
170     PseudoRET implicit $x10
174 name:            fptoui_s32_s32
175 body:             |
176   bb.1:
177     liveins: $x10
178     ; CHECK-LABEL: name: fptoui_s32_s32
179     ; CHECK: liveins: $x10
180     ; CHECK-NEXT: {{  $}}
181     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
182     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
183     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
184     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixunssfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
185     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
186     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
187     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
188     ; CHECK-NEXT: PseudoRET implicit $x10
189     %1:_(s64) = COPY $x10
190     %0:_(s32) = G_TRUNC %1:_(s64)
191     %2:_(s32) = G_FPTOUI %0:_(s32)
192     %3:_(s64) = G_ANYEXT %2:_(s32)
193     $x10 = COPY %3:_(s64)
194     PseudoRET implicit $x10
198 name:            fptosi_s64_s32
199 body:             |
200   bb.1:
201     liveins: $f10_f
203     ; CHECK-LABEL: name: fptosi_s64_s32
204     ; CHECK: liveins: $f10_f
205     ; CHECK-NEXT: {{  $}}
206     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $f10_f
207     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
208     ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[COPY]](s32)
209     ; CHECK-NEXT: $x10 = COPY [[ANYEXT]](s64)
210     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixsfdi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
211     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
212     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
213     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
214     ; CHECK-NEXT: PseudoRET implicit $x10
215     %0:_(s32) = COPY $f10_f
216     %1:_(s64) = G_FPTOSI %0(s32)
217     $x10 = COPY %1(s64)
218     PseudoRET implicit $x10
222 name:            fptoui_s64_s32
223 body:             |
224   bb.1:
225     liveins: $f10_f
227     ; CHECK-LABEL: name: fptoui_s64_s32
228     ; CHECK: liveins: $f10_f
229     ; CHECK-NEXT: {{  $}}
230     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $f10_f
231     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
232     ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[COPY]](s32)
233     ; CHECK-NEXT: $x10 = COPY [[ANYEXT]](s64)
234     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixunssfdi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
235     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
236     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
237     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
238     ; CHECK-NEXT: PseudoRET implicit $x10
239     %0:_(s32) = COPY $f10_f
240     %1:_(s64) = G_FPTOUI %0(s32)
241     $x10 = COPY %1(s64)
242     PseudoRET implicit $x10
246 name:            fptosi_s1_s64
247 body:             |
248   bb.1:
249     liveins: $x10
250     ; CHECK-LABEL: name: fptosi_s1_s64
251     ; CHECK: liveins: $x10
252     ; CHECK-NEXT: {{  $}}
253     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
254     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
255     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
256     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixdfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
257     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
258     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
259     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
260     ; CHECK-NEXT: PseudoRET implicit $x10
261     %0:_(s64) = COPY $x10
262     %1:_(s1) = G_FPTOSI %0:_(s64)
263     %2:_(s64) = G_ANYEXT %1:_(s1)
264     $x10 = COPY %2:_(s64)
265     PseudoRET implicit $x10
269 name:            fptoui_s1_s64
270 body:             |
271   bb.1:
272     liveins: $x10
273     ; CHECK-LABEL: name: fptoui_s1_s64
274     ; CHECK: liveins: $x10
275     ; CHECK-NEXT: {{  $}}
276     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
277     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
278     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
279     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixunsdfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
280     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
281     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
282     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
283     ; CHECK-NEXT: PseudoRET implicit $x10
284     %0:_(s64) = COPY $x10
285     %1:_(s1) = G_FPTOUI %0:_(s64)
286     %2:_(s64) = G_ANYEXT %1:_(s1)
287     $x10 = COPY %2:_(s64)
288     PseudoRET implicit $x10
292 name:            fptosi_s8_s64
293 body:             |
294   bb.1:
295     liveins: $x10
296     ; CHECK-LABEL: name: fptosi_s8_s64
297     ; CHECK: liveins: $x10
298     ; CHECK-NEXT: {{  $}}
299     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
300     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
301     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
302     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixdfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
303     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
304     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
305     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
306     ; CHECK-NEXT: PseudoRET implicit $x10
307     %0:_(s64) = COPY $x10
308     %1:_(s8) = G_FPTOSI %0:_(s64)
309     %2:_(s64) = G_ANYEXT %1:_(s8)
310     $x10 = COPY %2:_(s64)
311     PseudoRET implicit $x10
315 name:            fptoui_s8_s64
316 body:             |
317   bb.1:
318     liveins: $x10
319     ; CHECK-LABEL: name: fptoui_s8_s64
320     ; CHECK: liveins: $x10
321     ; CHECK-NEXT: {{  $}}
322     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
323     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
324     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
325     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixunsdfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
326     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
327     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
328     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
329     ; CHECK-NEXT: PseudoRET implicit $x10
330     %0:_(s64) = COPY $x10
331     %1:_(s8) = G_FPTOUI %0:_(s64)
332     %2:_(s64) = G_ANYEXT %1:_(s8)
333     $x10 = COPY %2:_(s64)
334     PseudoRET implicit $x10
338 name:            fptosi_s16_s64
339 body:             |
340   bb.1:
341     liveins: $x10
342     ; CHECK-LABEL: name: fptosi_s16_s64
343     ; CHECK: liveins: $x10
344     ; CHECK-NEXT: {{  $}}
345     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
346     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
347     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
348     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixdfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
349     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
350     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
351     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
352     ; CHECK-NEXT: PseudoRET implicit $x10
353     %0:_(s64) = COPY $x10
354     %1:_(s16) = G_FPTOSI %0:_(s64)
355     %2:_(s64) = G_ANYEXT %1:_(s16)
356     $x10 = COPY %2:_(s64)
357     PseudoRET implicit $x10
361 name:            fptoui_s16_s64
362 body:             |
363   bb.1:
364     liveins: $x10
365     ; CHECK-LABEL: name: fptoui_s16_s64
366     ; CHECK: liveins: $x10
367     ; CHECK-NEXT: {{  $}}
368     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
369     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
370     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
371     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixunsdfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
372     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
373     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
374     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
375     ; CHECK-NEXT: PseudoRET implicit $x10
376     %0:_(s64) = COPY $x10
377     %1:_(s16) = G_FPTOUI %0:_(s64)
378     %2:_(s64) = G_ANYEXT %1:_(s16)
379     $x10 = COPY %2:_(s64)
380     PseudoRET implicit $x10
384 name:            fptosi_s32_s64
385 body:             |
386   bb.1:
387     liveins: $x10
388     ; CHECK-LABEL: name: fptosi_s32_s64
389     ; CHECK: liveins: $x10
390     ; CHECK-NEXT: {{  $}}
391     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
392     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
393     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
394     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixdfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
395     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
396     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
397     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
398     ; CHECK-NEXT: PseudoRET implicit $x10
399     %0:_(s64) = COPY $x10
400     %1:_(s32) = G_FPTOSI %0:_(s64)
401     %2:_(s64) = G_ANYEXT %1:_(s32)
402     $x10 = COPY %2:_(s64)
403     PseudoRET implicit $x10
407 name:            fptoui_s32_s64
408 body:             |
409   bb.1:
410     liveins: $x10
411     ; CHECK-LABEL: name: fptoui_s32_s64
412     ; CHECK: liveins: $x10
413     ; CHECK-NEXT: {{  $}}
414     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
415     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
416     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
417     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixunsdfsi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
418     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
419     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
420     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
421     ; CHECK-NEXT: PseudoRET implicit $x10
422     %0:_(s64) = COPY $x10
423     %1:_(s32) = G_FPTOUI %0:_(s64)
424     %2:_(s64) = G_ANYEXT %1:_(s32)
425     $x10 = COPY %2:_(s64)
426     PseudoRET implicit $x10
430 name:            fptosi_s64_s64
431 body:             |
432   bb.1:
433     liveins: $x10
434     ; CHECK-LABEL: name: fptosi_s64_s64
435     ; CHECK: liveins: $x10
436     ; CHECK-NEXT: {{  $}}
437     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
438     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
439     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
440     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixdfdi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
441     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
442     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
443     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
444     ; CHECK-NEXT: PseudoRET implicit $x10
445     %0:_(s64) = COPY $x10
446     %1:_(s64) = G_FPTOSI %0:_(s64)
447     $x10 = COPY %1:_(s64)
448     PseudoRET implicit $x10
452 name:            fptoui_s64_s64
453 body:             |
454   bb.1:
455     liveins: $x10
456     ; CHECK-LABEL: name: fptoui_s64_s64
457     ; CHECK: liveins: $x10
458     ; CHECK-NEXT: {{  $}}
459     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x10
460     ; CHECK-NEXT: ADJCALLSTACKDOWN 0, 0, implicit-def $x2, implicit $x2
461     ; CHECK-NEXT: $x10 = COPY [[COPY]](s64)
462     ; CHECK-NEXT: PseudoCALL target-flags(riscv-call) &__fixunsdfdi, csr_ilp32_lp64, implicit-def $x1, implicit $x10, implicit-def $x10
463     ; CHECK-NEXT: ADJCALLSTACKUP 0, 0, implicit-def $x2, implicit $x2
464     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x10
465     ; CHECK-NEXT: $x10 = COPY [[COPY1]](s64)
466     ; CHECK-NEXT: PseudoRET implicit $x10
467     %0:_(s64) = COPY $x10
468     %1:_(s64) = G_FPTOUI %0:_(s64)
469     $x10 = COPY %1:_(s64)
470     PseudoRET implicit $x10