|
2 | 2 | # RUN: llc -mtriple=riscv64 -mattr=+d -run-pass=instruction-select \ |
3 | 3 | # RUN: -simplify-mir -verify-machineinstrs %s -o - | FileCheck %s |
4 | 4 |
|
5 | | ---- |
6 | | -name: sitofp_s32_s32 |
7 | | -legalized: true |
8 | | -regBankSelected: true |
9 | | -tracksRegLiveness: true |
10 | | -body: | |
11 | | - bb.0: |
12 | | - liveins: $x10 |
13 | | -
|
14 | | - ; CHECK-LABEL: name: sitofp_s32_s32 |
15 | | - ; CHECK: liveins: $x10 |
16 | | - ; CHECK-NEXT: {{ $}} |
17 | | - ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10 |
18 | | - ; CHECK-NEXT: [[FCVT_S_W:%[0-9]+]]:fpr32 = nofpexcept FCVT_S_W [[COPY]], 7 |
19 | | - ; CHECK-NEXT: $f10_f = COPY [[FCVT_S_W]] |
20 | | - ; CHECK-NEXT: PseudoRET implicit $f10_f |
21 | | - %0:gprb(s64) = COPY $x10 |
22 | | - %1:gprb(s32) = G_TRUNC %0(s64) |
23 | | - %2:fprb(s32) = G_SITOFP %1(s32) |
24 | | - $f10_f = COPY %2(s32) |
25 | | - PseudoRET implicit $f10_f |
26 | | -
|
27 | | -... |
28 | | ---- |
29 | | -name: uitofp_s32_s32 |
30 | | -legalized: true |
31 | | -regBankSelected: true |
32 | | -tracksRegLiveness: true |
33 | | -body: | |
34 | | - bb.0: |
35 | | - liveins: $x10 |
36 | | -
|
37 | | - ; CHECK-LABEL: name: uitofp_s32_s32 |
38 | | - ; CHECK: liveins: $x10 |
39 | | - ; CHECK-NEXT: {{ $}} |
40 | | - ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10 |
41 | | - ; CHECK-NEXT: [[FCVT_S_WU:%[0-9]+]]:fpr32 = nofpexcept FCVT_S_WU [[COPY]], 7 |
42 | | - ; CHECK-NEXT: $f10_f = COPY [[FCVT_S_WU]] |
43 | | - ; CHECK-NEXT: PseudoRET implicit $f10_f |
44 | | - %0:gprb(s64) = COPY $x10 |
45 | | - %1:gprb(s32) = G_TRUNC %0(s64) |
46 | | - %2:fprb(s32) = G_UITOFP %1(s32) |
47 | | - $f10_f = COPY %2(s32) |
48 | | - PseudoRET implicit $f10_f |
49 | | -
|
50 | | -... |
51 | 5 | --- |
52 | 6 | name: sitofp_s32_s64 |
53 | 7 | legalized: true |
@@ -91,52 +45,6 @@ body: | |
91 | 45 | $f10_f = COPY %1(s32) |
92 | 46 | PseudoRET implicit $f10_f |
93 | 47 |
|
94 | | -... |
95 | | ---- |
96 | | -name: sitofp_s64_s32 |
97 | | -legalized: true |
98 | | -regBankSelected: true |
99 | | -tracksRegLiveness: true |
100 | | -body: | |
101 | | - bb.0: |
102 | | - liveins: $x10 |
103 | | -
|
104 | | - ; CHECK-LABEL: name: sitofp_s64_s32 |
105 | | - ; CHECK: liveins: $x10 |
106 | | - ; CHECK-NEXT: {{ $}} |
107 | | - ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10 |
108 | | - ; CHECK-NEXT: [[FCVT_D_W:%[0-9]+]]:fpr64 = nofpexcept FCVT_D_W [[COPY]], 0 |
109 | | - ; CHECK-NEXT: $f10_d = COPY [[FCVT_D_W]] |
110 | | - ; CHECK-NEXT: PseudoRET implicit $f10_d |
111 | | - %0:gprb(s64) = COPY $x10 |
112 | | - %1:gprb(s32) = G_TRUNC %0(s64) |
113 | | - %2:fprb(s64) = G_SITOFP %1(s32) |
114 | | - $f10_d = COPY %2(s64) |
115 | | - PseudoRET implicit $f10_d |
116 | | -
|
117 | | -... |
118 | | ---- |
119 | | -name: uitofp_s64_s32 |
120 | | -legalized: true |
121 | | -regBankSelected: true |
122 | | -tracksRegLiveness: true |
123 | | -body: | |
124 | | - bb.0: |
125 | | - liveins: $x10 |
126 | | -
|
127 | | - ; CHECK-LABEL: name: uitofp_s64_s32 |
128 | | - ; CHECK: liveins: $x10 |
129 | | - ; CHECK-NEXT: {{ $}} |
130 | | - ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10 |
131 | | - ; CHECK-NEXT: [[FCVT_D_WU:%[0-9]+]]:fpr64 = nofpexcept FCVT_D_WU [[COPY]], 0 |
132 | | - ; CHECK-NEXT: $f10_d = COPY [[FCVT_D_WU]] |
133 | | - ; CHECK-NEXT: PseudoRET implicit $f10_d |
134 | | - %0:gprb(s64) = COPY $x10 |
135 | | - %1:gprb(s32) = G_TRUNC %0(s64) |
136 | | - %2:fprb(s64) = G_UITOFP %1(s32) |
137 | | - $f10_d = COPY %2(s64) |
138 | | - PseudoRET implicit $f10_d |
139 | | -
|
140 | 48 | ... |
141 | 49 | --- |
142 | 50 | name: sitofp_s64_s64 |
|
0 commit comments