Skip to content

Commit 62ee3e2

Browse files
committed
[AMDGPU][CodeGen][NFC] update a mir test file with format change
1 parent 88f9ac3 commit 62ee3e2

File tree

1 file changed

+90
-72
lines changed

1 file changed

+90
-72
lines changed

llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fptosi.mir

Lines changed: 90 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,22 @@ body: |
1717
; GCN: liveins: $vgpr0
1818
; GCN-NEXT: {{ $}}
1919
; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
20-
; GCN-NEXT: %1:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
21-
; GCN-NEXT: $vgpr0 = COPY %1
20+
; GCN-NEXT: [[V_CVT_I32_F32_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
21+
; GCN-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e64_]]
22+
;
2223
; VI-LABEL: name: fptosi_s32_to_s32_vv
2324
; VI: liveins: $vgpr0
2425
; VI-NEXT: {{ $}}
2526
; VI-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
26-
; VI-NEXT: %1:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
27-
; VI-NEXT: $vgpr0 = COPY %1
27+
; VI-NEXT: [[V_CVT_I32_F32_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
28+
; VI-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e64_]]
29+
;
2830
; GFX11-LABEL: name: fptosi_s32_to_s32_vv
2931
; GFX11: liveins: $vgpr0
3032
; GFX11-NEXT: {{ $}}
3133
; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
32-
; GFX11-NEXT: %1:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
33-
; GFX11-NEXT: $vgpr0 = COPY %1
34+
; GFX11-NEXT: [[V_CVT_I32_F32_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
35+
; GFX11-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e64_]]
3436
%0:vgpr(s32) = COPY $vgpr0
3537
%1:vgpr(s32) = G_FPTOSI %0
3638
$vgpr0 = COPY %1
@@ -50,20 +52,22 @@ body: |
5052
; GCN: liveins: $sgpr0
5153
; GCN-NEXT: {{ $}}
5254
; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
53-
; GCN-NEXT: %1:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
54-
; GCN-NEXT: $vgpr0 = COPY %1
55+
; GCN-NEXT: [[V_CVT_I32_F32_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
56+
; GCN-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e64_]]
57+
;
5558
; VI-LABEL: name: fptosi_s32_to_s32_vs
5659
; VI: liveins: $sgpr0
5760
; VI-NEXT: {{ $}}
5861
; VI-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
59-
; VI-NEXT: %1:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
60-
; VI-NEXT: $vgpr0 = COPY %1
62+
; VI-NEXT: [[V_CVT_I32_F32_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
63+
; VI-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e64_]]
64+
;
6165
; GFX11-LABEL: name: fptosi_s32_to_s32_vs
6266
; GFX11: liveins: $sgpr0
6367
; GFX11-NEXT: {{ $}}
6468
; GFX11-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
65-
; GFX11-NEXT: %1:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
66-
; GFX11-NEXT: $vgpr0 = COPY %1
69+
; GFX11-NEXT: [[V_CVT_I32_F32_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
70+
; GFX11-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e64_]]
6771
%0:sgpr(s32) = COPY $sgpr0
6872
%1:vgpr(s32) = G_FPTOSI %0
6973
$vgpr0 = COPY %1
@@ -83,20 +87,22 @@ body: |
8387
; GCN: liveins: $vgpr0
8488
; GCN-NEXT: {{ $}}
8589
; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
86-
; GCN-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 1, [[COPY]], 0, 0, implicit $mode, implicit $exec
87-
; GCN-NEXT: $vgpr0 = COPY %2
90+
; GCN-NEXT: [[V_CVT_I32_F32_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 1, [[COPY]], 0, 0, implicit $mode, implicit $exec
91+
; GCN-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e64_]]
92+
;
8893
; VI-LABEL: name: fptosi_s32_to_s32_fneg_vv
8994
; VI: liveins: $vgpr0
9095
; VI-NEXT: {{ $}}
9196
; VI-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
92-
; VI-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 1, [[COPY]], 0, 0, implicit $mode, implicit $exec
93-
; VI-NEXT: $vgpr0 = COPY %2
97+
; VI-NEXT: [[V_CVT_I32_F32_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 1, [[COPY]], 0, 0, implicit $mode, implicit $exec
98+
; VI-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e64_]]
99+
;
94100
; GFX11-LABEL: name: fptosi_s32_to_s32_fneg_vv
95101
; GFX11: liveins: $vgpr0
96102
; GFX11-NEXT: {{ $}}
97103
; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
98-
; GFX11-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 1, [[COPY]], 0, 0, implicit $mode, implicit $exec
99-
; GFX11-NEXT: $vgpr0 = COPY %2
104+
; GFX11-NEXT: [[V_CVT_I32_F32_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e64 1, [[COPY]], 0, 0, implicit $mode, implicit $exec
105+
; GFX11-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e64_]]
100106
%0:vgpr(s32) = COPY $vgpr0
101107
%1:vgpr(s32) = G_FNEG %0
102108
%2:vgpr(s32) = G_FPTOSI %1
@@ -117,23 +123,25 @@ body: |
117123
; GCN: liveins: $vgpr0
118124
; GCN-NEXT: {{ $}}
119125
; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
120-
; GCN-NEXT: %3:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
121-
; GCN-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %3, implicit $mode, implicit $exec
122-
; GCN-NEXT: $vgpr0 = COPY %2
126+
; GCN-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
127+
; GCN-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
128+
; GCN-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e32_]]
129+
;
123130
; VI-LABEL: name: fptosi_s16_to_s32_vv
124131
; VI: liveins: $vgpr0
125132
; VI-NEXT: {{ $}}
126133
; VI-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
127-
; VI-NEXT: %3:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
128-
; VI-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %3, implicit $mode, implicit $exec
129-
; VI-NEXT: $vgpr0 = COPY %2
134+
; VI-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
135+
; VI-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
136+
; VI-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e32_]]
137+
;
130138
; GFX11-LABEL: name: fptosi_s16_to_s32_vv
131139
; GFX11: liveins: $vgpr0
132140
; GFX11-NEXT: {{ $}}
133141
; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
134-
; GFX11-NEXT: %3:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
135-
; GFX11-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %3, implicit $mode, implicit $exec
136-
; GFX11-NEXT: $vgpr0 = COPY %2
142+
; GFX11-NEXT: [[V_CVT_F32_F16_t16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
143+
; GFX11-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_t16_e64_]], implicit $mode, implicit $exec
144+
; GFX11-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e32_]]
137145
%0:vgpr(s32) = COPY $vgpr0
138146
%1:vgpr(s16) = G_TRUNC %0
139147
%2:vgpr(s32) = G_FPTOSI %1
@@ -154,23 +162,25 @@ body: |
154162
; GCN: liveins: $sgpr0
155163
; GCN-NEXT: {{ $}}
156164
; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
157-
; GCN-NEXT: %3:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
158-
; GCN-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %3, implicit $mode, implicit $exec
159-
; GCN-NEXT: $vgpr0 = COPY %2
165+
; GCN-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
166+
; GCN-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
167+
; GCN-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e32_]]
168+
;
160169
; VI-LABEL: name: fptosi_s16_to_s32_vs
161170
; VI: liveins: $sgpr0
162171
; VI-NEXT: {{ $}}
163172
; VI-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
164-
; VI-NEXT: %3:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
165-
; VI-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %3, implicit $mode, implicit $exec
166-
; VI-NEXT: $vgpr0 = COPY %2
173+
; VI-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
174+
; VI-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
175+
; VI-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e32_]]
176+
;
167177
; GFX11-LABEL: name: fptosi_s16_to_s32_vs
168178
; GFX11: liveins: $sgpr0
169179
; GFX11-NEXT: {{ $}}
170180
; GFX11-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
171-
; GFX11-NEXT: %3:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
172-
; GFX11-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %3, implicit $mode, implicit $exec
173-
; GFX11-NEXT: $vgpr0 = COPY %2
181+
; GFX11-NEXT: [[V_CVT_F32_F16_t16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
182+
; GFX11-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_t16_e64_]], implicit $mode, implicit $exec
183+
; GFX11-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e32_]]
174184
%0:sgpr(s32) = COPY $sgpr0
175185
%1:sgpr(s16) = G_TRUNC %0
176186
%2:vgpr(s32) = G_FPTOSI %1
@@ -193,27 +203,29 @@ body: |
193203
; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
194204
; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 32768
195205
; GCN-NEXT: [[V_XOR_B32_e64_:%[0-9]+]]:vgpr_32 = V_XOR_B32_e64 [[S_MOV_B32_]], [[COPY]], implicit $exec
196-
; GCN-NEXT: %4:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
197-
; GCN-NEXT: %3:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %4, implicit $mode, implicit $exec
198-
; GCN-NEXT: $vgpr0 = COPY %3
206+
; GCN-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
207+
; GCN-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
208+
; GCN-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e32_]]
209+
;
199210
; VI-LABEL: name: fptosi_s16_to_s32_fneg_vv
200211
; VI: liveins: $vgpr0
201212
; VI-NEXT: {{ $}}
202213
; VI-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
203214
; VI-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 32768
204215
; VI-NEXT: [[V_XOR_B32_e64_:%[0-9]+]]:vgpr_32 = V_XOR_B32_e64 [[S_MOV_B32_]], [[COPY]], implicit $exec
205-
; VI-NEXT: %4:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
206-
; VI-NEXT: %3:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %4, implicit $mode, implicit $exec
207-
; VI-NEXT: $vgpr0 = COPY %3
216+
; VI-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
217+
; VI-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
218+
; VI-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e32_]]
219+
;
208220
; GFX11-LABEL: name: fptosi_s16_to_s32_fneg_vv
209221
; GFX11: liveins: $vgpr0
210222
; GFX11-NEXT: {{ $}}
211223
; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
212224
; GFX11-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 32768
213225
; GFX11-NEXT: [[V_XOR_B32_e64_:%[0-9]+]]:vgpr_32 = V_XOR_B32_e64 [[S_MOV_B32_]], [[COPY]], implicit $exec
214-
; GFX11-NEXT: %4:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
215-
; GFX11-NEXT: %3:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %4, implicit $mode, implicit $exec
216-
; GFX11-NEXT: $vgpr0 = COPY %3
226+
; GFX11-NEXT: [[V_CVT_F32_F16_t16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
227+
; GFX11-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_t16_e64_]], implicit $mode, implicit $exec
228+
; GFX11-NEXT: $vgpr0 = COPY [[V_CVT_I32_F32_e32_]]
217229
%0:vgpr(s32) = COPY $vgpr0
218230
%1:vgpr(s16) = G_TRUNC %0
219231
%2:vgpr(s16) = G_FNEG %1
@@ -235,23 +247,25 @@ body: |
235247
; GCN: liveins: $vgpr0
236248
; GCN-NEXT: {{ $}}
237249
; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
238-
; GCN-NEXT: %4:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
239-
; GCN-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %4, implicit $mode, implicit $exec
240-
; GCN-NEXT: S_ENDPGM 0, implicit %2
250+
; GCN-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
251+
; GCN-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
252+
; GCN-NEXT: S_ENDPGM 0, implicit [[V_CVT_I32_F32_e32_]]
253+
;
241254
; VI-LABEL: name: fptosi_s16_to_s1_vv
242255
; VI: liveins: $vgpr0
243256
; VI-NEXT: {{ $}}
244257
; VI-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
245-
; VI-NEXT: %4:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
246-
; VI-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %4, implicit $mode, implicit $exec
247-
; VI-NEXT: S_ENDPGM 0, implicit %2
258+
; VI-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
259+
; VI-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
260+
; VI-NEXT: S_ENDPGM 0, implicit [[V_CVT_I32_F32_e32_]]
261+
;
248262
; GFX11-LABEL: name: fptosi_s16_to_s1_vv
249263
; GFX11: liveins: $vgpr0
250264
; GFX11-NEXT: {{ $}}
251265
; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
252-
; GFX11-NEXT: %4:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
253-
; GFX11-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %4, implicit $mode, implicit $exec
254-
; GFX11-NEXT: S_ENDPGM 0, implicit %2
266+
; GFX11-NEXT: [[V_CVT_F32_F16_t16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
267+
; GFX11-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_t16_e64_]], implicit $mode, implicit $exec
268+
; GFX11-NEXT: S_ENDPGM 0, implicit [[V_CVT_I32_F32_e32_]]
255269
%0:vgpr(s32) = COPY $vgpr0
256270
%1:vgpr(s16) = G_TRUNC %0
257271
%2:vgpr(s32) = G_FPTOSI %1
@@ -273,23 +287,25 @@ body: |
273287
; GCN: liveins: $sgpr0
274288
; GCN-NEXT: {{ $}}
275289
; GCN-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
276-
; GCN-NEXT: %4:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
277-
; GCN-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %4, implicit $mode, implicit $exec
278-
; GCN-NEXT: S_ENDPGM 0, implicit %2
290+
; GCN-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
291+
; GCN-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
292+
; GCN-NEXT: S_ENDPGM 0, implicit [[V_CVT_I32_F32_e32_]]
293+
;
279294
; VI-LABEL: name: fptosi_s16_to_s1_vs
280295
; VI: liveins: $sgpr0
281296
; VI-NEXT: {{ $}}
282297
; VI-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
283-
; VI-NEXT: %4:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
284-
; VI-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %4, implicit $mode, implicit $exec
285-
; VI-NEXT: S_ENDPGM 0, implicit %2
298+
; VI-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
299+
; VI-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
300+
; VI-NEXT: S_ENDPGM 0, implicit [[V_CVT_I32_F32_e32_]]
301+
;
286302
; GFX11-LABEL: name: fptosi_s16_to_s1_vs
287303
; GFX11: liveins: $sgpr0
288304
; GFX11-NEXT: {{ $}}
289305
; GFX11-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0
290-
; GFX11-NEXT: %4:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
291-
; GFX11-NEXT: %2:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %4, implicit $mode, implicit $exec
292-
; GFX11-NEXT: S_ENDPGM 0, implicit %2
306+
; GFX11-NEXT: [[V_CVT_F32_F16_t16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[COPY]], 0, 0, implicit $mode, implicit $exec
307+
; GFX11-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_t16_e64_]], implicit $mode, implicit $exec
308+
; GFX11-NEXT: S_ENDPGM 0, implicit [[V_CVT_I32_F32_e32_]]
293309
%0:sgpr(s32) = COPY $sgpr0
294310
%1:sgpr(s16) = G_TRUNC %0
295311
%2:vgpr(s32) = G_FPTOSI %1
@@ -313,27 +329,29 @@ body: |
313329
; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
314330
; GCN-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 32768
315331
; GCN-NEXT: [[V_XOR_B32_e64_:%[0-9]+]]:vgpr_32 = V_XOR_B32_e64 [[S_MOV_B32_]], [[COPY]], implicit $exec
316-
; GCN-NEXT: %5:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
317-
; GCN-NEXT: %3:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %5, implicit $mode, implicit $exec
318-
; GCN-NEXT: S_ENDPGM 0, implicit %3
332+
; GCN-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
333+
; GCN-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
334+
; GCN-NEXT: S_ENDPGM 0, implicit [[V_CVT_I32_F32_e32_]]
335+
;
319336
; VI-LABEL: name: fptosi_s16_to_s1_fneg_vv
320337
; VI: liveins: $vgpr0
321338
; VI-NEXT: {{ $}}
322339
; VI-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
323340
; VI-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 32768
324341
; VI-NEXT: [[V_XOR_B32_e64_:%[0-9]+]]:vgpr_32 = V_XOR_B32_e64 [[S_MOV_B32_]], [[COPY]], implicit $exec
325-
; VI-NEXT: %5:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
326-
; VI-NEXT: %3:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %5, implicit $mode, implicit $exec
327-
; VI-NEXT: S_ENDPGM 0, implicit %3
342+
; VI-NEXT: [[V_CVT_F32_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
343+
; VI-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_e64_]], implicit $mode, implicit $exec
344+
; VI-NEXT: S_ENDPGM 0, implicit [[V_CVT_I32_F32_e32_]]
345+
;
328346
; GFX11-LABEL: name: fptosi_s16_to_s1_fneg_vv
329347
; GFX11: liveins: $vgpr0
330348
; GFX11-NEXT: {{ $}}
331349
; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0
332350
; GFX11-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 32768
333351
; GFX11-NEXT: [[V_XOR_B32_e64_:%[0-9]+]]:vgpr_32 = V_XOR_B32_e64 [[S_MOV_B32_]], [[COPY]], implicit $exec
334-
; GFX11-NEXT: %5:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
335-
; GFX11-NEXT: %3:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 %5, implicit $mode, implicit $exec
336-
; GFX11-NEXT: S_ENDPGM 0, implicit %3
352+
; GFX11-NEXT: [[V_CVT_F32_F16_t16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_F32_F16_t16_e64 0, [[V_XOR_B32_e64_]], 0, 0, implicit $mode, implicit $exec
353+
; GFX11-NEXT: [[V_CVT_I32_F32_e32_:%[0-9]+]]:vgpr_32 = nofpexcept V_CVT_I32_F32_e32 [[V_CVT_F32_F16_t16_e64_]], implicit $mode, implicit $exec
354+
; GFX11-NEXT: S_ENDPGM 0, implicit [[V_CVT_I32_F32_e32_]]
337355
%0:vgpr(s32) = COPY $vgpr0
338356
%1:vgpr(s16) = G_TRUNC %0
339357
%2:vgpr(s16) = G_FNEG %1

0 commit comments

Comments
 (0)