xref: /llvm-project/llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir (revision 11b040192640ef3b1f481124c440f464ed6ec86a)
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=MUBUF %s
3# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=MUBUF %s
4# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1010 -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=MUBUFW32 %s
5# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx940 -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=FLATSCRW64 %s
6# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=FLATSCRW32 %s
7# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 -verify-machineinstrs -run-pass=prologepilog %s -o - | FileCheck -check-prefix=FLATSCRW32 %s
8
9---
10name: v_add_u32_e32__inline_imm__fi_offset0
11tracksRegLiveness: true
12stack:
13  - { id: 0, size: 4, alignment: 16 }
14machineFunctionInfo:
15  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
16  frameOffsetReg:  '$sgpr33'
17  stackPtrOffsetReg: '$sgpr32'
18body:             |
19  bb.0:
20    ; MUBUF-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0
21    ; MUBUF: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
22    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 12, killed $vgpr1, implicit $exec
23    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
24    ;
25    ; MUBUFW32-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0
26    ; MUBUFW32: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
27    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 12, killed $vgpr1, implicit $exec
28    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
29    ;
30    ; FLATSCRW64-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0
31    ; FLATSCRW64: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec
32    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 12, killed $vgpr1, implicit $exec
33    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
34    ;
35    ; FLATSCRW32-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0
36    ; FLATSCRW32: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec
37    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 12, killed $vgpr1, implicit $exec
38    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
39    renamable $vgpr0 = V_ADD_U32_e32 12, %stack.0, implicit $exec
40    SI_RETURN implicit $vgpr0
41
42...
43
44---
45name: v_add_u32_e32__inline_imm___fi_offset_inline_imm
46tracksRegLiveness: true
47stack:
48  - { id: 0, size: 16, alignment: 16 }
49  - { id: 1, size: 4, alignment: 4 }
50machineFunctionInfo:
51  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
52  frameOffsetReg:  '$sgpr33'
53  stackPtrOffsetReg: '$sgpr32'
54body:             |
55  bb.0:
56    ; MUBUF-LABEL: name: v_add_u32_e32__inline_imm___fi_offset_inline_imm
57    ; MUBUF: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
58    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 28, killed $vgpr1, implicit $exec
59    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
60    ;
61    ; MUBUFW32-LABEL: name: v_add_u32_e32__inline_imm___fi_offset_inline_imm
62    ; MUBUFW32: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
63    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 28, killed $vgpr1, implicit $exec
64    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
65    ;
66    ; FLATSCRW64-LABEL: name: v_add_u32_e32__inline_imm___fi_offset_inline_imm
67    ; FLATSCRW64: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec
68    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 28, killed $vgpr1, implicit $exec
69    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
70    ;
71    ; FLATSCRW32-LABEL: name: v_add_u32_e32__inline_imm___fi_offset_inline_imm
72    ; FLATSCRW32: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec
73    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 28, killed $vgpr1, implicit $exec
74    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
75    renamable $vgpr0 = V_ADD_U32_e32 12, %stack.1, implicit $exec
76    SI_RETURN implicit $vgpr0
77
78...
79
80---
81name: v_add_u32_e32__literal__fi_offset0
82tracksRegLiveness: true
83stack:
84  - { id: 0, size: 4, alignment: 16 }
85machineFunctionInfo:
86  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
87  frameOffsetReg:  '$sgpr33'
88  stackPtrOffsetReg: '$sgpr32'
89body:             |
90  bb.0:
91    ; MUBUF-LABEL: name: v_add_u32_e32__literal__fi_offset0
92    ; MUBUF: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
93    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 68, killed $vgpr1, implicit $exec
94    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
95    ;
96    ; MUBUFW32-LABEL: name: v_add_u32_e32__literal__fi_offset0
97    ; MUBUFW32: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
98    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 68, killed $vgpr1, implicit $exec
99    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
100    ;
101    ; FLATSCRW64-LABEL: name: v_add_u32_e32__literal__fi_offset0
102    ; FLATSCRW64: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec
103    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 68, killed $vgpr1, implicit $exec
104    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
105    ;
106    ; FLATSCRW32-LABEL: name: v_add_u32_e32__literal__fi_offset0
107    ; FLATSCRW32: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec
108    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 68, killed $vgpr1, implicit $exec
109    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
110    renamable $vgpr0 = V_ADD_U32_e32 68, %stack.0, implicit $exec
111    SI_RETURN implicit $vgpr0
112
113...
114
115---
116name: v_add_u32_e32__literal__fi_offset0__offset_inlineimm
117tracksRegLiveness: true
118stack:
119  - { id: 0, size: 32, alignment: 16 }
120  - { id: 1, size: 4, alignment: 4 }
121machineFunctionInfo:
122  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
123  frameOffsetReg:  '$sgpr33'
124  stackPtrOffsetReg: '$sgpr32'
125body:             |
126  bb.0:
127    ; MUBUF-LABEL: name: v_add_u32_e32__literal__fi_offset0__offset_inlineimm
128    ; MUBUF: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
129    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 100, killed $vgpr1, implicit $exec
130    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
131    ;
132    ; MUBUFW32-LABEL: name: v_add_u32_e32__literal__fi_offset0__offset_inlineimm
133    ; MUBUFW32: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
134    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 100, killed $vgpr1, implicit $exec
135    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
136    ;
137    ; FLATSCRW64-LABEL: name: v_add_u32_e32__literal__fi_offset0__offset_inlineimm
138    ; FLATSCRW64: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec
139    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 100, killed $vgpr1, implicit $exec
140    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
141    ;
142    ; FLATSCRW32-LABEL: name: v_add_u32_e32__literal__fi_offset0__offset_inlineimm
143    ; FLATSCRW32: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec
144    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 100, killed $vgpr1, implicit $exec
145    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
146    renamable $vgpr0 = V_ADD_U32_e32 68, %stack.1, implicit $exec
147    SI_RETURN implicit $vgpr0
148
149...
150
151---
152name: v_add_u32_e32__vgpr__fi_offset0
153tracksRegLiveness: true
154stack:
155  - { id: 0, size: 4, alignment: 16 }
156machineFunctionInfo:
157  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
158  frameOffsetReg:  '$sgpr33'
159  stackPtrOffsetReg: '$sgpr32'
160body:             |
161  bb.0:
162    liveins: $vgpr1
163    ; MUBUF-LABEL: name: v_add_u32_e32__vgpr__fi_offset0
164    ; MUBUF: liveins: $vgpr1
165    ; MUBUF-NEXT: {{  $}}
166    ; MUBUF-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
167    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec
168    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
169    ;
170    ; MUBUFW32-LABEL: name: v_add_u32_e32__vgpr__fi_offset0
171    ; MUBUFW32: liveins: $vgpr1
172    ; MUBUFW32-NEXT: {{  $}}
173    ; MUBUFW32-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
174    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec
175    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
176    ;
177    ; FLATSCRW64-LABEL: name: v_add_u32_e32__vgpr__fi_offset0
178    ; FLATSCRW64: liveins: $vgpr1
179    ; FLATSCRW64-NEXT: {{  $}}
180    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec
181    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
182    ;
183    ; FLATSCRW32-LABEL: name: v_add_u32_e32__vgpr__fi_offset0
184    ; FLATSCRW32: liveins: $vgpr1
185    ; FLATSCRW32-NEXT: {{  $}}
186    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec
187    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
188    renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, %stack.0, implicit $exec
189    SI_RETURN implicit $vgpr0
190
191...
192
193---
194name: v_add_u32_e32__fi_offset0__vgpr
195tracksRegLiveness: true
196stack:
197  - { id: 0, size: 4, alignment: 16 }
198machineFunctionInfo:
199  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
200  frameOffsetReg:  '$sgpr33'
201  stackPtrOffsetReg: '$sgpr32'
202body:             |
203  bb.0:
204    liveins: $vgpr1
205    ; MUBUF-LABEL: name: v_add_u32_e32__fi_offset0__vgpr
206    ; MUBUF: liveins: $vgpr1
207    ; MUBUF-NEXT: {{  $}}
208    ; MUBUF-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
209    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec
210    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
211    ;
212    ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_offset0__vgpr
213    ; MUBUFW32: liveins: $vgpr1
214    ; MUBUFW32-NEXT: {{  $}}
215    ; MUBUFW32-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
216    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec
217    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
218    ;
219    ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_offset0__vgpr
220    ; FLATSCRW64: liveins: $vgpr1
221    ; FLATSCRW64-NEXT: {{  $}}
222    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec
223    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
224    ;
225    ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_offset0__vgpr
226    ; FLATSCRW32: liveins: $vgpr1
227    ; FLATSCRW32-NEXT: {{  $}}
228    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec
229    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
230    renamable $vgpr0 = V_ADD_U32_e32 %stack.0, $vgpr1, implicit $exec
231    SI_RETURN implicit $vgpr0
232
233...
234
235---
236name: v_add_u32_e32__vgpr__fi_literal_offset
237tracksRegLiveness: true
238stack:
239  - { id: 0, size: 128, alignment: 16 }
240  - { id: 1, size: 4, alignment: 4 }
241machineFunctionInfo:
242  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
243  frameOffsetReg:  '$sgpr33'
244  stackPtrOffsetReg: '$sgpr32'
245body:             |
246  bb.0:
247    liveins: $vgpr1
248    ; MUBUF-LABEL: name: v_add_u32_e32__vgpr__fi_literal_offset
249    ; MUBUF: liveins: $vgpr1
250    ; MUBUF-NEXT: {{  $}}
251    ; MUBUF-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
252    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec
253    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
254    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
255    ;
256    ; MUBUFW32-LABEL: name: v_add_u32_e32__vgpr__fi_literal_offset
257    ; MUBUFW32: liveins: $vgpr1
258    ; MUBUFW32-NEXT: {{  $}}
259    ; MUBUFW32-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
260    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec
261    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
262    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
263    ;
264    ; FLATSCRW64-LABEL: name: v_add_u32_e32__vgpr__fi_literal_offset
265    ; FLATSCRW64: liveins: $vgpr1
266    ; FLATSCRW64-NEXT: {{  $}}
267    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec
268    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
269    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
270    ;
271    ; FLATSCRW32-LABEL: name: v_add_u32_e32__vgpr__fi_literal_offset
272    ; FLATSCRW32: liveins: $vgpr1
273    ; FLATSCRW32-NEXT: {{  $}}
274    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec
275    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
276    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
277    renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, %stack.1, implicit $exec
278    SI_RETURN implicit $vgpr0
279
280...
281
282---
283name: v_add_u32_e32__fi_literal_offset__vgpr
284tracksRegLiveness: true
285stack:
286  - { id: 0, size: 128, alignment: 16 }
287  - { id: 1, size: 4, alignment: 4 }
288machineFunctionInfo:
289  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
290  frameOffsetReg:  '$sgpr33'
291  stackPtrOffsetReg: '$sgpr32'
292body:             |
293  bb.0:
294    liveins: $vgpr1
295    ; MUBUF-LABEL: name: v_add_u32_e32__fi_literal_offset__vgpr
296    ; MUBUF: liveins: $vgpr1
297    ; MUBUF-NEXT: {{  $}}
298    ; MUBUF-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
299    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec
300    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
301    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
302    ;
303    ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_literal_offset__vgpr
304    ; MUBUFW32: liveins: $vgpr1
305    ; MUBUFW32-NEXT: {{  $}}
306    ; MUBUFW32-NEXT: renamable $vgpr2 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
307    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $vgpr1, killed $vgpr2, implicit $exec
308    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
309    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
310    ;
311    ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_literal_offset__vgpr
312    ; FLATSCRW64: liveins: $vgpr1
313    ; FLATSCRW64-NEXT: {{  $}}
314    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec
315    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
316    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
317    ;
318    ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_literal_offset__vgpr
319    ; FLATSCRW32: liveins: $vgpr1
320    ; FLATSCRW32-NEXT: {{  $}}
321    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr32, $vgpr1, implicit $exec
322    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
323    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
324    renamable $vgpr0 = V_ADD_U32_e32 %stack.1, $vgpr1, implicit $exec
325    SI_RETURN implicit $vgpr0
326
327...
328
329---
330name: v_add_u32_e32__sgpr__fi_literal_offset
331tracksRegLiveness: true
332stack:
333  - { id: 0, size: 128, alignment: 16 }
334  - { id: 1, size: 4, alignment: 4 }
335machineFunctionInfo:
336  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
337  frameOffsetReg:  '$sgpr33'
338  stackPtrOffsetReg: '$sgpr32'
339body:             |
340  bb.0:
341    liveins: $sgpr8
342    ; MUBUF-LABEL: name: v_add_u32_e32__sgpr__fi_literal_offset
343    ; MUBUF: liveins: $sgpr8
344    ; MUBUF-NEXT: {{  $}}
345    ; MUBUF-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
346    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec
347    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
348    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
349    ;
350    ; MUBUFW32-LABEL: name: v_add_u32_e32__sgpr__fi_literal_offset
351    ; MUBUFW32: liveins: $sgpr8
352    ; MUBUFW32-NEXT: {{  $}}
353    ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
354    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec
355    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
356    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
357    ;
358    ; FLATSCRW64-LABEL: name: v_add_u32_e32__sgpr__fi_literal_offset
359    ; FLATSCRW64: liveins: $sgpr8
360    ; FLATSCRW64-NEXT: {{  $}}
361    ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec
362    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec
363    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
364    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
365    ;
366    ; FLATSCRW32-LABEL: name: v_add_u32_e32__sgpr__fi_literal_offset
367    ; FLATSCRW32: liveins: $sgpr8
368    ; FLATSCRW32-NEXT: {{  $}}
369    ; FLATSCRW32-NEXT: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec
370    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec
371    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 128, killed $vgpr0, implicit $exec
372    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
373    renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, %stack.1, implicit $exec
374    SI_RETURN implicit $vgpr0
375
376...
377
378---
379name: v_add_u32_e64__inline_imm__fi_offset0
380tracksRegLiveness: true
381stack:
382  - { id: 0, size: 4, alignment: 16 }
383machineFunctionInfo:
384  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
385  frameOffsetReg:  '$sgpr33'
386  stackPtrOffsetReg: '$sgpr32'
387body:             |
388  bb.0:
389    ; MUBUF-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0
390    ; MUBUF: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
391    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 12, killed $vgpr1, 0, implicit $exec
392    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
393    ;
394    ; MUBUFW32-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0
395    ; MUBUFW32: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
396    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 12, killed $vgpr1, 0, implicit $exec
397    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
398    ;
399    ; FLATSCRW64-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0
400    ; FLATSCRW64: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, 12, 0, implicit $exec
401    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
402    ;
403    ; FLATSCRW32-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0
404    ; FLATSCRW32: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, 12, 0, implicit $exec
405    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
406    renamable $vgpr0 = V_ADD_U32_e64 12, %stack.0, 0, implicit $exec
407    SI_RETURN implicit $vgpr0
408
409...
410
411---
412name: v_add_u32_e64__fi_literal_offset__sgpr
413tracksRegLiveness: true
414stack:
415  - { id: 0, size: 128, alignment: 16 }
416  - { id: 1, size: 4, alignment: 4 }
417machineFunctionInfo:
418  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
419  frameOffsetReg:  '$sgpr33'
420  stackPtrOffsetReg: '$sgpr32'
421body:             |
422  bb.0:
423    liveins: $sgpr8
424    ; MUBUF-LABEL: name: v_add_u32_e64__fi_literal_offset__sgpr
425    ; MUBUF: liveins: $sgpr8
426    ; MUBUF-NEXT: {{  $}}
427    ; MUBUF-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
428    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr8, killed $vgpr1, 0, implicit $exec
429    ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec
430    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 0, implicit $exec
431    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
432    ;
433    ; MUBUFW32-LABEL: name: v_add_u32_e64__fi_literal_offset__sgpr
434    ; MUBUFW32: liveins: $sgpr8
435    ; MUBUFW32-NEXT: {{  $}}
436    ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
437    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr8, killed $vgpr1, 0, implicit $exec
438    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, killed $vgpr0, 0, implicit $exec
439    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
440    ;
441    ; FLATSCRW64-LABEL: name: v_add_u32_e64__fi_literal_offset__sgpr
442    ; FLATSCRW64: liveins: $sgpr8
443    ; FLATSCRW64-NEXT: {{  $}}
444    ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 $sgpr32, implicit $exec
445    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr8, killed $vgpr1, 0, implicit $exec
446    ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec
447    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 0, implicit $exec
448    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
449    ;
450    ; FLATSCRW32-LABEL: name: v_add_u32_e64__fi_literal_offset__sgpr
451    ; FLATSCRW32: liveins: $sgpr8
452    ; FLATSCRW32-NEXT: {{  $}}
453    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $sgpr8, 0, implicit $exec
454    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, killed $vgpr0, 0, implicit $exec
455    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
456    renamable $vgpr0 = V_ADD_U32_e64 %stack.1, $sgpr8, 0, implicit $exec
457    SI_RETURN implicit $vgpr0
458
459...
460
461---
462name: v_add_u32_e64__vgpr__fi_literal_offset
463tracksRegLiveness: true
464stack:
465  - { id: 0, size: 128, alignment: 16 }
466  - { id: 1, size: 4, alignment: 4 }
467machineFunctionInfo:
468  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
469  frameOffsetReg:  '$sgpr33'
470  stackPtrOffsetReg: '$sgpr32'
471body:             |
472  bb.0:
473    liveins: $vgpr8
474    ; MUBUF-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset
475    ; MUBUF: liveins: $vgpr8
476    ; MUBUF-NEXT: {{  $}}
477    ; MUBUF-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
478    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec
479    ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec
480    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 0, implicit $exec
481    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
482    ;
483    ; MUBUFW32-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset
484    ; MUBUFW32: liveins: $vgpr8
485    ; MUBUFW32-NEXT: {{  $}}
486    ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
487    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec
488    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr0, 128, 0, implicit $exec
489    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
490    ;
491    ; FLATSCRW64-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset
492    ; FLATSCRW64: liveins: $vgpr8
493    ; FLATSCRW64-NEXT: {{  $}}
494    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec
495    ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec
496    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 0, implicit $exec
497    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
498    ;
499    ; FLATSCRW32-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset
500    ; FLATSCRW32: liveins: $vgpr8
501    ; FLATSCRW32-NEXT: {{  $}}
502    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec
503    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr0, 128, 0, implicit $exec
504    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
505    renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, %stack.1, 0, implicit $exec
506    SI_RETURN implicit $vgpr0
507
508...
509
510---
511name: v_add_u32_e64__vgpr__fi_literal_offset__clamp
512tracksRegLiveness: true
513stack:
514  - { id: 0, size: 128, alignment: 16 }
515  - { id: 1, size: 4, alignment: 4 }
516machineFunctionInfo:
517  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
518  frameOffsetReg:  '$sgpr33'
519  stackPtrOffsetReg: '$sgpr32'
520body:             |
521  bb.0:
522    liveins: $vgpr8
523    ; MUBUF-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset__clamp
524    ; MUBUF: liveins: $vgpr8
525    ; MUBUF-NEXT: {{  $}}
526    ; MUBUF-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
527    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec
528    ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec
529    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 1, implicit $exec
530    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
531    ;
532    ; MUBUFW32-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset__clamp
533    ; MUBUFW32: liveins: $vgpr8
534    ; MUBUFW32-NEXT: {{  $}}
535    ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
536    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec
537    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr0, 128, 1, implicit $exec
538    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
539    ;
540    ; FLATSCRW64-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset__clamp
541    ; FLATSCRW64: liveins: $vgpr8
542    ; FLATSCRW64-NEXT: {{  $}}
543    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec
544    ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec
545    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 1, implicit $exec
546    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
547    ;
548    ; FLATSCRW32-LABEL: name: v_add_u32_e64__vgpr__fi_literal_offset__clamp
549    ; FLATSCRW32: liveins: $vgpr8
550    ; FLATSCRW32-NEXT: {{  $}}
551    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec
552    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr0, 128, 1, implicit $exec
553    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
554    renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, %stack.1, 1, implicit $exec
555    SI_RETURN implicit $vgpr0
556
557...
558
559---
560name: v_add_u32_e64__fi_literal_offset__vgpr__clamp
561tracksRegLiveness: true
562stack:
563  - { id: 0, size: 128, alignment: 16 }
564  - { id: 1, size: 4, alignment: 4 }
565machineFunctionInfo:
566  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
567  frameOffsetReg:  '$sgpr33'
568  stackPtrOffsetReg: '$sgpr32'
569body:             |
570  bb.0:
571    liveins: $vgpr8
572    ; MUBUF-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp
573    ; MUBUF: liveins: $vgpr8
574    ; MUBUF-NEXT: {{  $}}
575    ; MUBUF-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr32, implicit $exec
576    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec
577    ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec
578    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 1, implicit $exec
579    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
580    ;
581    ; MUBUFW32-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp
582    ; MUBUFW32: liveins: $vgpr8
583    ; MUBUFW32-NEXT: {{  $}}
584    ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr32, implicit $exec
585    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr8, killed $vgpr1, 0, implicit $exec
586    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, killed $vgpr0, 1, implicit $exec
587    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
588    ;
589    ; FLATSCRW64-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp
590    ; FLATSCRW64: liveins: $vgpr8
591    ; FLATSCRW64-NEXT: {{  $}}
592    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec
593    ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec
594    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, killed $vgpr0, 1, implicit $exec
595    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
596    ;
597    ; FLATSCRW32-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp
598    ; FLATSCRW32: liveins: $vgpr8
599    ; FLATSCRW32-NEXT: {{  $}}
600    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr32, $vgpr8, 0, implicit $exec
601    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, killed $vgpr0, 1, implicit $exec
602    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
603    renamable $vgpr0 = V_ADD_U32_e64 %stack.1, $vgpr8, 1, implicit $exec
604    SI_RETURN implicit $vgpr0
605
606...
607
608---
609name: v_add_u32_e64__fi_literal_offset__vgpr__clamp__kernel
610tracksRegLiveness: true
611stack:
612  - { id: 0, size: 128, alignment: 16 }
613  - { id: 1, size: 4, alignment: 4 }
614machineFunctionInfo:
615  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
616  frameOffsetReg:  '$sgpr33'
617  stackPtrOffsetReg: '$sgpr32'
618  isEntryFunction: true
619body:             |
620  bb.0:
621    liveins: $vgpr8
622    ; MUBUF-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp__kernel
623    ; MUBUF: liveins: $vgpr8, $sgpr0_sgpr1_sgpr2_sgpr3
624    ; MUBUF-NEXT: {{  $}}
625    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
626    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
627    ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec
628    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, $vgpr8, 1, implicit $exec
629    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
630    ;
631    ; MUBUFW32-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp__kernel
632    ; MUBUFW32: liveins: $vgpr8, $sgpr0_sgpr1_sgpr2_sgpr3
633    ; MUBUFW32-NEXT: {{  $}}
634    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
635    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
636    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, $vgpr8, 1, implicit $exec
637    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
638    ;
639    ; FLATSCRW64-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp__kernel
640    ; FLATSCRW64: liveins: $vgpr8
641    ; FLATSCRW64-NEXT: {{  $}}
642    ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 128, implicit $exec
643    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, $vgpr8, 1, implicit $exec
644    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
645    ;
646    ; FLATSCRW32-LABEL: name: v_add_u32_e64__fi_literal_offset__vgpr__clamp__kernel
647    ; FLATSCRW32: liveins: $vgpr8
648    ; FLATSCRW32-NEXT: {{  $}}
649    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 128, $vgpr8, 1, implicit $exec
650    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
651    renamable $vgpr0 = V_ADD_U32_e64 %stack.1, $vgpr8, 1, implicit $exec
652    SI_RETURN implicit $vgpr0
653
654...
655
656---
657name: v_add_u32_e32__inline_imm__fi_offset0__kernel
658tracksRegLiveness: true
659stack:
660  - { id: 0, size: 32, alignment: 16 }
661machineFunctionInfo:
662  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
663  frameOffsetReg:  '$sgpr33'
664  stackPtrOffsetReg: '$sgpr32'
665  isEntryFunction: true
666body:             |
667  bb.0:
668    ; MUBUF-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0__kernel
669    ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
670    ; MUBUF-NEXT: {{  $}}
671    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
672    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
673    ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec
674    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
675    ;
676    ; MUBUFW32-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0__kernel
677    ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
678    ; MUBUFW32-NEXT: {{  $}}
679    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
680    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
681    ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec
682    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
683    ;
684    ; FLATSCRW64-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0__kernel
685    ; FLATSCRW64: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec
686    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
687    ;
688    ; FLATSCRW32-LABEL: name: v_add_u32_e32__inline_imm__fi_offset0__kernel
689    ; FLATSCRW32: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec
690    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
691    renamable $vgpr0 = V_ADD_U32_e32 12, %stack.0, implicit $exec
692    SI_RETURN implicit $vgpr0
693
694...
695
696---
697name: v_add_u32_e64__inline_imm__fi_offset0__kernel
698tracksRegLiveness: true
699stack:
700  - { id: 0, size: 32, alignment: 16 }
701machineFunctionInfo:
702  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
703  frameOffsetReg:  '$sgpr33'
704  stackPtrOffsetReg: '$sgpr32'
705  isEntryFunction: true
706body:             |
707  bb.0:
708    ; MUBUF-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0__kernel
709    ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
710    ; MUBUF-NEXT: {{  $}}
711    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
712    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
713    ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec
714    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
715    ;
716    ; MUBUFW32-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0__kernel
717    ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
718    ; MUBUFW32-NEXT: {{  $}}
719    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
720    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
721    ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec
722    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
723    ;
724    ; FLATSCRW64-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0__kernel
725    ; FLATSCRW64: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec
726    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
727    ;
728    ; FLATSCRW32-LABEL: name: v_add_u32_e64__inline_imm__fi_offset0__kernel
729    ; FLATSCRW32: renamable $vgpr0 = V_MOV_B32_e32 12, implicit $exec
730    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
731    renamable $vgpr0 = V_ADD_U32_e64 12, %stack.0, 0, implicit $exec
732    SI_RETURN implicit $vgpr0
733
734...
735
736
737
738---
739name: v_add_u32_e32__inline_imm__fi_literal__kernel
740tracksRegLiveness: true
741stack:
742  - { id: 0, size: 32, alignment: 16 }
743  - { id: 1, size: 80, alignment: 4 }
744machineFunctionInfo:
745  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
746  frameOffsetReg:  '$sgpr33'
747  stackPtrOffsetReg: '$sgpr32'
748  isEntryFunction: true
749body:             |
750  bb.0:
751    ; MUBUF-LABEL: name: v_add_u32_e32__inline_imm__fi_literal__kernel
752    ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
753    ; MUBUF-NEXT: {{  $}}
754    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
755    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
756    ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
757    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
758    ;
759    ; MUBUFW32-LABEL: name: v_add_u32_e32__inline_imm__fi_literal__kernel
760    ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
761    ; MUBUFW32-NEXT: {{  $}}
762    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
763    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
764    ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
765    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
766    ;
767    ; FLATSCRW64-LABEL: name: v_add_u32_e32__inline_imm__fi_literal__kernel
768    ; FLATSCRW64: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
769    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
770    ;
771    ; FLATSCRW32-LABEL: name: v_add_u32_e32__inline_imm__fi_literal__kernel
772    ; FLATSCRW32: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
773    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
774    renamable $vgpr0 = V_ADD_U32_e32 12, %stack.1, implicit $exec
775    SI_RETURN implicit $vgpr0
776
777...
778
779---
780name: v_add_u32_e64__inline_imm__fi_literal__kernel
781tracksRegLiveness: true
782stack:
783  - { id: 0, size: 32, alignment: 16 }
784  - { id: 1, size: 80, alignment: 4 }
785machineFunctionInfo:
786  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
787  frameOffsetReg:  '$sgpr33'
788  stackPtrOffsetReg: '$sgpr32'
789  isEntryFunction: true
790body:             |
791  bb.0:
792    ; MUBUF-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel
793    ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
794    ; MUBUF-NEXT: {{  $}}
795    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
796    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
797    ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
798    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
799    ;
800    ; MUBUFW32-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel
801    ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
802    ; MUBUFW32-NEXT: {{  $}}
803    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
804    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
805    ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
806    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
807    ;
808    ; FLATSCRW64-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel
809    ; FLATSCRW64: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
810    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
811    ;
812    ; FLATSCRW32-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel
813    ; FLATSCRW32: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
814    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
815    renamable $vgpr0 = V_ADD_U32_e64 12, %stack.1, 0, implicit $exec
816    SI_RETURN implicit $vgpr0
817
818...
819
820---
821name: v_add_u32_e64__fi_literal__inline_imm__kernel
822tracksRegLiveness: true
823stack:
824  - { id: 0, size: 32, alignment: 16 }
825  - { id: 1, size: 80, alignment: 4 }
826machineFunctionInfo:
827  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
828  frameOffsetReg:  '$sgpr33'
829  stackPtrOffsetReg: '$sgpr32'
830  isEntryFunction: true
831body:             |
832  bb.0:
833    ; MUBUF-LABEL: name: v_add_u32_e64__fi_literal__inline_imm__kernel
834    ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
835    ; MUBUF-NEXT: {{  $}}
836    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
837    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
838    ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
839    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
840    ;
841    ; MUBUFW32-LABEL: name: v_add_u32_e64__fi_literal__inline_imm__kernel
842    ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
843    ; MUBUFW32-NEXT: {{  $}}
844    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
845    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
846    ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
847    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
848    ;
849    ; FLATSCRW64-LABEL: name: v_add_u32_e64__fi_literal__inline_imm__kernel
850    ; FLATSCRW64: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
851    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
852    ;
853    ; FLATSCRW32-LABEL: name: v_add_u32_e64__fi_literal__inline_imm__kernel
854    ; FLATSCRW32: renamable $vgpr0 = V_MOV_B32_e32 44, implicit $exec
855    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
856    renamable $vgpr0 = V_ADD_U32_e64 %stack.1, 12, 0, implicit $exec
857    SI_RETURN implicit $vgpr0
858
859...
860
861---
862name: v_add_u32_e64__inline_imm__fi_literal__kernel__clamp
863tracksRegLiveness: true
864stack:
865  - { id: 0, size: 32, alignment: 16 }
866  - { id: 1, size: 80, alignment: 4 }
867machineFunctionInfo:
868  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
869  frameOffsetReg:  '$sgpr33'
870  stackPtrOffsetReg: '$sgpr32'
871  isEntryFunction: true
872body:             |
873  bb.0:
874    ; MUBUF-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel__clamp
875    ; MUBUF: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
876    ; MUBUF-NEXT: {{  $}}
877    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
878    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
879    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 44, 0, 1, implicit $exec
880    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
881    ;
882    ; MUBUFW32-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel__clamp
883    ; MUBUFW32: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
884    ; MUBUFW32-NEXT: {{  $}}
885    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
886    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
887    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 44, 0, 1, implicit $exec
888    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
889    ;
890    ; FLATSCRW64-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel__clamp
891    ; FLATSCRW64: renamable $vgpr0 = V_ADD_U32_e64 44, 0, 1, implicit $exec
892    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
893    ;
894    ; FLATSCRW32-LABEL: name: v_add_u32_e64__inline_imm__fi_literal__kernel__clamp
895    ; FLATSCRW32: renamable $vgpr0 = V_ADD_U32_e64 44, 0, 1, implicit $exec
896    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
897    renamable $vgpr0 = V_ADD_U32_e64 12, %stack.1, 1, implicit $exec
898    SI_RETURN implicit $vgpr0
899
900...
901
902---
903name: killed_reg_regression
904tracksRegLiveness: true
905stack:
906  - { id: 0, size: 32, alignment: 16 }
907  - { id: 1, size: 80, alignment: 4 }
908machineFunctionInfo:
909  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
910  frameOffsetReg:  '$sgpr33'
911  stackPtrOffsetReg: '$sgpr32'
912  isEntryFunction: true
913body:             |
914  bb.0:
915    liveins: $vgpr0
916
917    ; MUBUF-LABEL: name: killed_reg_regression
918    ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
919    ; MUBUF-NEXT: {{  $}}
920    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
921    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
922    ; MUBUF-NEXT: renamable $vgpr0 = V_LSHLREV_B32_e32 2, killed $vgpr0, implicit $exec
923    ; MUBUF-NEXT: renamable $vgpr1 = V_MOV_B32_e32 $vgpr0, implicit $exec
924    ; MUBUF-NEXT: renamable $vgpr2 = V_MOV_B32_e32 15, implicit $exec
925    ; MUBUF-NEXT: SCRATCH_STORE_DWORD killed renamable $vgpr2, killed renamable $vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (volatile store (s32), addrspace 5)
926    ; MUBUF-NEXT: renamable $vgpr0 = V_SUB_U32_e32 0, killed $vgpr0, implicit $exec
927    ; MUBUF-NEXT: dead renamable $vgpr0 = SCRATCH_LOAD_DWORD killed renamable $vgpr0, 124, 0, implicit $exec, implicit $flat_scr :: (volatile load (s32), addrspace 5)
928    ; MUBUF-NEXT: S_ENDPGM 0
929    ;
930    ; MUBUFW32-LABEL: name: killed_reg_regression
931    ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
932    ; MUBUFW32-NEXT: {{  $}}
933    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
934    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
935    ; MUBUFW32-NEXT: renamable $vgpr0 = V_LSHLREV_B32_e32 2, killed $vgpr0, implicit $exec
936    ; MUBUFW32-NEXT: renamable $vgpr1 = V_MOV_B32_e32 $vgpr0, implicit $exec
937    ; MUBUFW32-NEXT: renamable $vgpr2 = V_MOV_B32_e32 15, implicit $exec
938    ; MUBUFW32-NEXT: SCRATCH_STORE_DWORD killed renamable $vgpr2, killed renamable $vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (volatile store (s32), addrspace 5)
939    ; MUBUFW32-NEXT: renamable $vgpr0 = V_SUB_U32_e32 0, killed $vgpr0, implicit $exec
940    ; MUBUFW32-NEXT: dead renamable $vgpr0 = SCRATCH_LOAD_DWORD killed renamable $vgpr0, 124, 0, implicit $exec, implicit $flat_scr :: (volatile load (s32), addrspace 5)
941    ; MUBUFW32-NEXT: S_ENDPGM 0
942    ;
943    ; FLATSCRW64-LABEL: name: killed_reg_regression
944    ; FLATSCRW64: liveins: $vgpr0
945    ; FLATSCRW64-NEXT: {{  $}}
946    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_LSHLREV_B32_e32 2, killed $vgpr0, implicit $exec
947    ; FLATSCRW64-NEXT: renamable $vgpr1 = V_MOV_B32_e32 $vgpr0, implicit $exec
948    ; FLATSCRW64-NEXT: renamable $vgpr2 = V_MOV_B32_e32 15, implicit $exec
949    ; FLATSCRW64-NEXT: SCRATCH_STORE_DWORD killed renamable $vgpr2, killed renamable $vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (volatile store (s32), addrspace 5)
950    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_SUB_U32_e32 0, killed $vgpr0, implicit $exec
951    ; FLATSCRW64-NEXT: dead renamable $vgpr0 = SCRATCH_LOAD_DWORD killed renamable $vgpr0, 124, 0, implicit $exec, implicit $flat_scr :: (volatile load (s32), addrspace 5)
952    ; FLATSCRW64-NEXT: S_ENDPGM 0
953    ;
954    ; FLATSCRW32-LABEL: name: killed_reg_regression
955    ; FLATSCRW32: liveins: $vgpr0
956    ; FLATSCRW32-NEXT: {{  $}}
957    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_LSHLREV_B32_e32 2, killed $vgpr0, implicit $exec
958    ; FLATSCRW32-NEXT: renamable $vgpr1 = V_MOV_B32_e32 $vgpr0, implicit $exec
959    ; FLATSCRW32-NEXT: renamable $vgpr2 = V_MOV_B32_e32 15, implicit $exec
960    ; FLATSCRW32-NEXT: SCRATCH_STORE_DWORD killed renamable $vgpr2, killed renamable $vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (volatile store (s32), addrspace 5)
961    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_SUB_U32_e32 0, killed $vgpr0, implicit $exec
962    ; FLATSCRW32-NEXT: dead renamable $vgpr0 = SCRATCH_LOAD_DWORD killed renamable $vgpr0, 124, 0, implicit $exec, implicit $flat_scr :: (volatile load (s32), addrspace 5)
963    ; FLATSCRW32-NEXT: S_ENDPGM 0
964    renamable $vgpr0 = V_LSHLREV_B32_e32 2, killed $vgpr0, implicit $exec
965    renamable $vgpr1 = V_ADD_U32_e32 %stack.0, $vgpr0, implicit $exec
966    renamable $vgpr2 = V_MOV_B32_e32 15, implicit $exec
967    SCRATCH_STORE_DWORD killed renamable $vgpr2, killed renamable $vgpr1, 0, 0, implicit $exec, implicit $flat_scr :: (volatile store (s32), addrspace 5)
968    renamable $vgpr0 = V_SUB_U32_e32 %stack.0, killed $vgpr0, implicit $exec
969    dead renamable $vgpr0 = SCRATCH_LOAD_DWORD killed renamable $vgpr0, 124, 0, implicit $exec, implicit $flat_scr :: (volatile load (s32), addrspace 5)
970    S_ENDPGM 0
971
972...
973
974---
975name: v_add_u32_e32__kernel_fi_offset0__other_vgpr_live_after
976tracksRegLiveness: true
977stack:
978  - { id: 0, size: 16, alignment: 16 }
979machineFunctionInfo:
980  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
981  frameOffsetReg:  '$sgpr33'
982  stackPtrOffsetReg: '$sgpr32'
983  isEntryFunction: true
984body:             |
985  bb.0:
986    liveins: $vgpr1
987    ; MUBUF-LABEL: name: v_add_u32_e32__kernel_fi_offset0__other_vgpr_live_after
988    ; MUBUF: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3
989    ; MUBUF-NEXT: {{  $}}
990    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
991    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
992    ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
993    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
994    ;
995    ; MUBUFW32-LABEL: name: v_add_u32_e32__kernel_fi_offset0__other_vgpr_live_after
996    ; MUBUFW32: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3
997    ; MUBUFW32-NEXT: {{  $}}
998    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
999    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1000    ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
1001    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
1002    ;
1003    ; FLATSCRW64-LABEL: name: v_add_u32_e32__kernel_fi_offset0__other_vgpr_live_after
1004    ; FLATSCRW64: liveins: $vgpr1
1005    ; FLATSCRW64-NEXT: {{  $}}
1006    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
1007    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
1008    ;
1009    ; FLATSCRW32-LABEL: name: v_add_u32_e32__kernel_fi_offset0__other_vgpr_live_after
1010    ; FLATSCRW32: liveins: $vgpr1
1011    ; FLATSCRW32-NEXT: {{  $}}
1012    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
1013    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
1014    renamable $vgpr0 = V_ADD_U32_e32 renamable $vgpr1, %stack.0, implicit $exec
1015    SI_RETURN implicit $vgpr0, implicit $vgpr1
1016
1017...
1018
1019---
1020name: v_add_u32_e32__kernel_other_vgpr_live_after__fi_offset0
1021tracksRegLiveness: true
1022stack:
1023  - { id: 0, size: 16, alignment: 16 }
1024machineFunctionInfo:
1025  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1026  frameOffsetReg:  '$sgpr33'
1027  stackPtrOffsetReg: '$sgpr32'
1028  isEntryFunction: true
1029body:             |
1030  bb.0:
1031    liveins: $vgpr1
1032    ; MUBUF-LABEL: name: v_add_u32_e32__kernel_other_vgpr_live_after__fi_offset0
1033    ; MUBUF: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3
1034    ; MUBUF-NEXT: {{  $}}
1035    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1036    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1037    ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
1038    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
1039    ;
1040    ; MUBUFW32-LABEL: name: v_add_u32_e32__kernel_other_vgpr_live_after__fi_offset0
1041    ; MUBUFW32: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3
1042    ; MUBUFW32-NEXT: {{  $}}
1043    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1044    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1045    ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
1046    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
1047    ;
1048    ; FLATSCRW64-LABEL: name: v_add_u32_e32__kernel_other_vgpr_live_after__fi_offset0
1049    ; FLATSCRW64: liveins: $vgpr1
1050    ; FLATSCRW64-NEXT: {{  $}}
1051    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
1052    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
1053    ;
1054    ; FLATSCRW32-LABEL: name: v_add_u32_e32__kernel_other_vgpr_live_after__fi_offset0
1055    ; FLATSCRW32: liveins: $vgpr1
1056    ; FLATSCRW32-NEXT: {{  $}}
1057    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
1058    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
1059    renamable $vgpr0 = V_ADD_U32_e32 %stack.0, renamable $vgpr1, implicit $exec
1060    SI_RETURN implicit $vgpr0, implicit $vgpr1
1061
1062...
1063
1064---
1065name: v_add_u32_e32__kernel_fi_offset0__sgpr_live_after
1066tracksRegLiveness: true
1067stack:
1068  - { id: 0, size: 16, alignment: 16 }
1069machineFunctionInfo:
1070  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1071  frameOffsetReg:  '$sgpr33'
1072  stackPtrOffsetReg: '$sgpr32'
1073  isEntryFunction: true
1074body:             |
1075  bb.0:
1076    liveins: $sgpr8
1077    ; MUBUF-LABEL: name: v_add_u32_e32__kernel_fi_offset0__sgpr_live_after
1078    ; MUBUF: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3
1079    ; MUBUF-NEXT: {{  $}}
1080    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1081    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1082    ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $sgpr8, implicit $exec
1083    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1084    ;
1085    ; MUBUFW32-LABEL: name: v_add_u32_e32__kernel_fi_offset0__sgpr_live_after
1086    ; MUBUFW32: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3
1087    ; MUBUFW32-NEXT: {{  $}}
1088    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1089    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1090    ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $sgpr8, implicit $exec
1091    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1092    ;
1093    ; FLATSCRW64-LABEL: name: v_add_u32_e32__kernel_fi_offset0__sgpr_live_after
1094    ; FLATSCRW64: liveins: $sgpr8
1095    ; FLATSCRW64-NEXT: {{  $}}
1096    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $sgpr8, implicit $exec
1097    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1098    ;
1099    ; FLATSCRW32-LABEL: name: v_add_u32_e32__kernel_fi_offset0__sgpr_live_after
1100    ; FLATSCRW32: liveins: $sgpr8
1101    ; FLATSCRW32-NEXT: {{  $}}
1102    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $sgpr8, implicit $exec
1103    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1104    renamable $vgpr0 = V_ADD_U32_e32 renamable $sgpr8, %stack.0, implicit $exec
1105    SI_RETURN implicit $vgpr0, implicit $sgpr8
1106
1107...
1108
1109---
1110name: v_add_u32_e64__kernel_fi_offset0__other_vgpr_live_after
1111tracksRegLiveness: true
1112stack:
1113  - { id: 0, size: 16, alignment: 16 }
1114machineFunctionInfo:
1115  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1116  frameOffsetReg:  '$sgpr33'
1117  stackPtrOffsetReg: '$sgpr32'
1118  isEntryFunction: true
1119body:             |
1120  bb.0:
1121    liveins: $vgpr1
1122    ; MUBUF-LABEL: name: v_add_u32_e64__kernel_fi_offset0__other_vgpr_live_after
1123    ; MUBUF: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3
1124    ; MUBUF-NEXT: {{  $}}
1125    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1126    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1127    ; MUBUF-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
1128    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
1129    ;
1130    ; MUBUFW32-LABEL: name: v_add_u32_e64__kernel_fi_offset0__other_vgpr_live_after
1131    ; MUBUFW32: liveins: $vgpr1, $sgpr0_sgpr1_sgpr2_sgpr3
1132    ; MUBUFW32-NEXT: {{  $}}
1133    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1134    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1135    ; MUBUFW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
1136    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
1137    ;
1138    ; FLATSCRW64-LABEL: name: v_add_u32_e64__kernel_fi_offset0__other_vgpr_live_after
1139    ; FLATSCRW64: liveins: $vgpr1
1140    ; FLATSCRW64-NEXT: {{  $}}
1141    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
1142    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
1143    ;
1144    ; FLATSCRW32-LABEL: name: v_add_u32_e64__kernel_fi_offset0__other_vgpr_live_after
1145    ; FLATSCRW32: liveins: $vgpr1
1146    ; FLATSCRW32-NEXT: {{  $}}
1147    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec
1148    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $vgpr1
1149    renamable $vgpr0 = V_ADD_U32_e64 renamable $vgpr1, %stack.0, 0, implicit $exec
1150    SI_RETURN implicit $vgpr0, implicit $vgpr1
1151
1152...
1153
1154---
1155name: v_add_u32_e32__kernel_fi_offset72__sgpr_live_after
1156tracksRegLiveness: true
1157stack:
1158  - { id: 0, size: 72, alignment: 16 }
1159  - { id: 1, size: 32, alignment: 4 }
1160machineFunctionInfo:
1161  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1162  frameOffsetReg:  '$sgpr33'
1163  stackPtrOffsetReg: '$sgpr32'
1164  isEntryFunction: true
1165body:             |
1166  bb.0:
1167    liveins: $sgpr8
1168    ; MUBUF-LABEL: name: v_add_u32_e32__kernel_fi_offset72__sgpr_live_after
1169    ; MUBUF: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3
1170    ; MUBUF-NEXT: {{  $}}
1171    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1172    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1173    ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec
1174    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec
1175    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1176    ;
1177    ; MUBUFW32-LABEL: name: v_add_u32_e32__kernel_fi_offset72__sgpr_live_after
1178    ; MUBUFW32: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3
1179    ; MUBUFW32-NEXT: {{  $}}
1180    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1181    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1182    ; MUBUFW32-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec
1183    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec
1184    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1185    ;
1186    ; FLATSCRW64-LABEL: name: v_add_u32_e32__kernel_fi_offset72__sgpr_live_after
1187    ; FLATSCRW64: liveins: $sgpr8
1188    ; FLATSCRW64-NEXT: {{  $}}
1189    ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec
1190    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec
1191    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1192    ;
1193    ; FLATSCRW32-LABEL: name: v_add_u32_e32__kernel_fi_offset72__sgpr_live_after
1194    ; FLATSCRW32: liveins: $sgpr8
1195    ; FLATSCRW32-NEXT: {{  $}}
1196    ; FLATSCRW32-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec
1197    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 $sgpr8, killed $vgpr1, implicit $exec
1198    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1199    renamable $vgpr0 = V_ADD_U32_e32 renamable $sgpr8, %stack.1, implicit $exec
1200    SI_RETURN implicit $vgpr0, implicit $sgpr8
1201
1202...
1203
1204---
1205name: v_add_u32_e64__kernel_fi_offset72__sgpr_live_after
1206tracksRegLiveness: true
1207stack:
1208  - { id: 0, size: 72, alignment: 16 }
1209  - { id: 1, size: 32, alignment: 4 }
1210machineFunctionInfo:
1211  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1212  frameOffsetReg:  '$sgpr33'
1213  stackPtrOffsetReg: '$sgpr32'
1214  isEntryFunction: true
1215body:             |
1216  bb.0:
1217    liveins: $sgpr8
1218    ; MUBUF-LABEL: name: v_add_u32_e64__kernel_fi_offset72__sgpr_live_after
1219    ; MUBUF: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3
1220    ; MUBUF-NEXT: {{  $}}
1221    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1222    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1223    ; MUBUF-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec
1224    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, $sgpr8, 0, implicit $exec
1225    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1226    ;
1227    ; MUBUFW32-LABEL: name: v_add_u32_e64__kernel_fi_offset72__sgpr_live_after
1228    ; MUBUFW32: liveins: $sgpr8, $sgpr0_sgpr1_sgpr2_sgpr3
1229    ; MUBUFW32-NEXT: {{  $}}
1230    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1231    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1232    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr8, 72, 0, implicit $exec
1233    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1234    ;
1235    ; FLATSCRW64-LABEL: name: v_add_u32_e64__kernel_fi_offset72__sgpr_live_after
1236    ; FLATSCRW64: liveins: $sgpr8
1237    ; FLATSCRW64-NEXT: {{  $}}
1238    ; FLATSCRW64-NEXT: $vgpr1 = V_MOV_B32_e32 72, implicit $exec
1239    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 killed $vgpr1, $sgpr8, 0, implicit $exec
1240    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1241    ;
1242    ; FLATSCRW32-LABEL: name: v_add_u32_e64__kernel_fi_offset72__sgpr_live_after
1243    ; FLATSCRW32: liveins: $sgpr8
1244    ; FLATSCRW32-NEXT: {{  $}}
1245    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $sgpr8, 72, 0, implicit $exec
1246    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0, implicit $sgpr8
1247    renamable $vgpr0 = V_ADD_U32_e64 renamable $sgpr8, %stack.1, 0, implicit $exec
1248    SI_RETURN implicit $vgpr0, implicit $sgpr8
1249
1250...
1251
1252---
1253name: v_add_u32_e32__identity_vgpr__fi_offset0__kernel
1254tracksRegLiveness: true
1255stack:
1256  - { id: 0, size: 32, alignment: 16 }
1257machineFunctionInfo:
1258  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1259  frameOffsetReg:  '$sgpr33'
1260  stackPtrOffsetReg: '$sgpr32'
1261  isEntryFunction: true
1262body:             |
1263  bb.0:
1264    liveins: $vgpr0
1265
1266    ; MUBUF-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset0__kernel
1267    ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1268    ; MUBUF-NEXT: {{  $}}
1269    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1270    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1271    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
1272    ;
1273    ; MUBUFW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset0__kernel
1274    ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1275    ; MUBUFW32-NEXT: {{  $}}
1276    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1277    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1278    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
1279    ;
1280    ; FLATSCRW64-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset0__kernel
1281    ; FLATSCRW64: liveins: $vgpr0
1282    ; FLATSCRW64-NEXT: {{  $}}
1283    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
1284    ;
1285    ; FLATSCRW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset0__kernel
1286    ; FLATSCRW32: liveins: $vgpr0
1287    ; FLATSCRW32-NEXT: {{  $}}
1288    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
1289    renamable $vgpr0 = V_ADD_U32_e32 $vgpr0, %stack.0, implicit $exec
1290    SI_RETURN implicit $vgpr0
1291
1292...
1293
1294---
1295name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel
1296tracksRegLiveness: true
1297stack:
1298  - { id: 0, size: 32, alignment: 16 }
1299machineFunctionInfo:
1300  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1301  frameOffsetReg:  '$sgpr33'
1302  stackPtrOffsetReg: '$sgpr32'
1303  isEntryFunction: true
1304body:             |
1305  bb.0:
1306    liveins: $vgpr0
1307    ; MUBUF-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel
1308    ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1309    ; MUBUF-NEXT: {{  $}}
1310    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1311    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1312    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
1313    ;
1314    ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel
1315    ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1316    ; MUBUFW32-NEXT: {{  $}}
1317    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1318    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1319    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
1320    ;
1321    ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel
1322    ; FLATSCRW64: liveins: $vgpr0
1323    ; FLATSCRW64-NEXT: {{  $}}
1324    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
1325    ;
1326    ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel
1327    ; FLATSCRW32: liveins: $vgpr0
1328    ; FLATSCRW32-NEXT: {{  $}}
1329    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
1330    renamable $vgpr0 = V_ADD_U32_e32 %stack.0, $vgpr0, implicit $exec
1331    SI_RETURN implicit $vgpr0
1332
1333...
1334
1335---
1336name: v_add_u32_e64__identity_vgpr__fi_offset0__kernel
1337tracksRegLiveness: true
1338stack:
1339  - { id: 0, size: 32, alignment: 16 }
1340machineFunctionInfo:
1341  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1342  frameOffsetReg:  '$sgpr33'
1343  stackPtrOffsetReg: '$sgpr32'
1344  isEntryFunction: true
1345body:             |
1346  bb.0:
1347    liveins: $vgpr0
1348
1349    ; MUBUF-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset0__kernel
1350    ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1351    ; MUBUF-NEXT: {{  $}}
1352    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1353    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1354    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
1355    ;
1356    ; MUBUFW32-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset0__kernel
1357    ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1358    ; MUBUFW32-NEXT: {{  $}}
1359    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1360    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1361    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
1362    ;
1363    ; FLATSCRW64-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset0__kernel
1364    ; FLATSCRW64: liveins: $vgpr0
1365    ; FLATSCRW64-NEXT: {{  $}}
1366    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
1367    ;
1368    ; FLATSCRW32-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset0__kernel
1369    ; FLATSCRW32: liveins: $vgpr0
1370    ; FLATSCRW32-NEXT: {{  $}}
1371    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
1372    renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, %stack.0, 0, implicit $exec
1373    SI_RETURN implicit $vgpr0
1374
1375...
1376
1377---
1378name: v_add_u32_e64__fi_offset0__identity_vgpr__kernel
1379tracksRegLiveness: true
1380stack:
1381  - { id: 0, size: 32, alignment: 16 }
1382machineFunctionInfo:
1383  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1384  frameOffsetReg:  '$sgpr33'
1385  stackPtrOffsetReg: '$sgpr32'
1386  isEntryFunction: true
1387body:             |
1388  bb.0:
1389    liveins: $vgpr0
1390
1391    ; MUBUF-LABEL: name: v_add_u32_e64__fi_offset0__identity_vgpr__kernel
1392    ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1393    ; MUBUF-NEXT: {{  $}}
1394    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1395    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1396    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
1397    ;
1398    ; MUBUFW32-LABEL: name: v_add_u32_e64__fi_offset0__identity_vgpr__kernel
1399    ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1400    ; MUBUFW32-NEXT: {{  $}}
1401    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1402    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1403    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
1404    ;
1405    ; FLATSCRW64-LABEL: name: v_add_u32_e64__fi_offset0__identity_vgpr__kernel
1406    ; FLATSCRW64: liveins: $vgpr0
1407    ; FLATSCRW64-NEXT: {{  $}}
1408    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
1409    ;
1410    ; FLATSCRW32-LABEL: name: v_add_u32_e64__fi_offset0__identity_vgpr__kernel
1411    ; FLATSCRW32: liveins: $vgpr0
1412    ; FLATSCRW32-NEXT: {{  $}}
1413    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
1414    renamable $vgpr0 = V_ADD_U32_e64 %stack.0, $vgpr0, 0, implicit $exec
1415    SI_RETURN implicit $vgpr0
1416
1417...
1418
1419---
1420name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel_kill
1421tracksRegLiveness: true
1422stack:
1423  - { id: 0, size: 32, alignment: 16 }
1424machineFunctionInfo:
1425  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1426  frameOffsetReg:  '$sgpr33'
1427  stackPtrOffsetReg: '$sgpr32'
1428  isEntryFunction: true
1429body:             |
1430  bb.0:
1431    liveins: $vgpr0
1432    ; MUBUF-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel_kill
1433    ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1434    ; MUBUF-NEXT: {{  $}}
1435    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1436    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1437    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
1438    ;
1439    ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel_kill
1440    ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1441    ; MUBUFW32-NEXT: {{  $}}
1442    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1443    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1444    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
1445    ;
1446    ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel_kill
1447    ; FLATSCRW64: liveins: $vgpr0
1448    ; FLATSCRW64-NEXT: {{  $}}
1449    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
1450    ;
1451    ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_offset0__identity_vgpr__kernel_kill
1452    ; FLATSCRW32: liveins: $vgpr0
1453    ; FLATSCRW32-NEXT: {{  $}}
1454    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
1455    renamable $vgpr0 = V_ADD_U32_e32 %stack.0, killed $vgpr0, implicit $exec
1456    SI_RETURN implicit $vgpr0
1457
1458...
1459
1460---
1461name: v_add_u32_e32__identity_vgpr__fi_offset32__kernel
1462tracksRegLiveness: true
1463stack:
1464  - { id: 0, size: 32, alignment: 16 }
1465  - { id: 1, size: 64, alignment: 4 }
1466machineFunctionInfo:
1467  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1468  frameOffsetReg:  '$sgpr33'
1469  stackPtrOffsetReg: '$sgpr32'
1470  isEntryFunction: true
1471body:             |
1472  bb.0:
1473    liveins: $vgpr0
1474
1475    ; MUBUF-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset32__kernel
1476    ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1477    ; MUBUF-NEXT: {{  $}}
1478    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1479    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1480    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec
1481    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
1482    ;
1483    ; MUBUFW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset32__kernel
1484    ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1485    ; MUBUFW32-NEXT: {{  $}}
1486    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1487    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1488    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec
1489    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
1490    ;
1491    ; FLATSCRW64-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset32__kernel
1492    ; FLATSCRW64: liveins: $vgpr0
1493    ; FLATSCRW64-NEXT: {{  $}}
1494    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec
1495    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
1496    ;
1497    ; FLATSCRW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset32__kernel
1498    ; FLATSCRW32: liveins: $vgpr0
1499    ; FLATSCRW32-NEXT: {{  $}}
1500    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec
1501    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
1502    renamable $vgpr0 = V_ADD_U32_e32 $vgpr0, %stack.1, implicit $exec
1503    SI_RETURN implicit $vgpr0
1504
1505...
1506
1507
1508---
1509name: v_add_u32_e32__identity_vgpr__fi_offset72__kernel
1510tracksRegLiveness: true
1511stack:
1512  - { id: 0, size: 72, alignment: 16 }
1513  - { id: 1, size: 64, alignment: 4 }
1514machineFunctionInfo:
1515  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1516  frameOffsetReg:  '$sgpr33'
1517  stackPtrOffsetReg: '$sgpr32'
1518  isEntryFunction: true
1519body:             |
1520  bb.0:
1521    liveins: $vgpr0
1522
1523    ; MUBUF-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset72__kernel
1524    ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1525    ; MUBUF-NEXT: {{  $}}
1526    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1527    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1528    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec
1529    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
1530    ;
1531    ; MUBUFW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset72__kernel
1532    ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1533    ; MUBUFW32-NEXT: {{  $}}
1534    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1535    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1536    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec
1537    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
1538    ;
1539    ; FLATSCRW64-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset72__kernel
1540    ; FLATSCRW64: liveins: $vgpr0
1541    ; FLATSCRW64-NEXT: {{  $}}
1542    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec
1543    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
1544    ;
1545    ; FLATSCRW32-LABEL: name: v_add_u32_e32__identity_vgpr__fi_offset72__kernel
1546    ; FLATSCRW32: liveins: $vgpr0
1547    ; FLATSCRW32-NEXT: {{  $}}
1548    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec
1549    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
1550    renamable $vgpr0 = V_ADD_U32_e32 $vgpr0, %stack.1, implicit $exec
1551    SI_RETURN implicit $vgpr0
1552
1553...
1554
1555---
1556name: v_add_u32_e32__fi_offset72__identity_vgpr__kernel
1557tracksRegLiveness: true
1558stack:
1559  - { id: 0, size: 72, alignment: 16 }
1560  - { id: 1, size: 64, alignment: 4 }
1561machineFunctionInfo:
1562  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1563  frameOffsetReg:  '$sgpr33'
1564  stackPtrOffsetReg: '$sgpr32'
1565  isEntryFunction: true
1566body:             |
1567  bb.0:
1568    liveins: $vgpr0
1569
1570    ; MUBUF-LABEL: name: v_add_u32_e32__fi_offset72__identity_vgpr__kernel
1571    ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1572    ; MUBUF-NEXT: {{  $}}
1573    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1574    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1575    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec
1576    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
1577    ;
1578    ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_offset72__identity_vgpr__kernel
1579    ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1580    ; MUBUFW32-NEXT: {{  $}}
1581    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1582    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1583    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec
1584    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
1585    ;
1586    ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_offset72__identity_vgpr__kernel
1587    ; FLATSCRW64: liveins: $vgpr0
1588    ; FLATSCRW64-NEXT: {{  $}}
1589    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec
1590    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
1591    ;
1592    ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_offset72__identity_vgpr__kernel
1593    ; FLATSCRW32: liveins: $vgpr0
1594    ; FLATSCRW32-NEXT: {{  $}}
1595    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 72, $vgpr0, implicit $exec
1596    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
1597    renamable $vgpr0 = V_ADD_U32_e32 %stack.1, $vgpr0, implicit $exec
1598    SI_RETURN implicit $vgpr0
1599
1600...
1601
1602---
1603name: v_add_u32_e32__fi_offset32__identity_vgpr__kernel
1604tracksRegLiveness: true
1605stack:
1606  - { id: 0, size: 32, alignment: 16 }
1607  - { id: 1, size: 64, alignment: 4 }
1608machineFunctionInfo:
1609  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1610  frameOffsetReg:  '$sgpr33'
1611  stackPtrOffsetReg: '$sgpr32'
1612  isEntryFunction: true
1613body:             |
1614  bb.0:
1615    liveins: $vgpr0
1616
1617    ; MUBUF-LABEL: name: v_add_u32_e32__fi_offset32__identity_vgpr__kernel
1618    ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1619    ; MUBUF-NEXT: {{  $}}
1620    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1621    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1622    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec
1623    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
1624    ;
1625    ; MUBUFW32-LABEL: name: v_add_u32_e32__fi_offset32__identity_vgpr__kernel
1626    ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1627    ; MUBUFW32-NEXT: {{  $}}
1628    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1629    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1630    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec
1631    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
1632    ;
1633    ; FLATSCRW64-LABEL: name: v_add_u32_e32__fi_offset32__identity_vgpr__kernel
1634    ; FLATSCRW64: liveins: $vgpr0
1635    ; FLATSCRW64-NEXT: {{  $}}
1636    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec
1637    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
1638    ;
1639    ; FLATSCRW32-LABEL: name: v_add_u32_e32__fi_offset32__identity_vgpr__kernel
1640    ; FLATSCRW32: liveins: $vgpr0
1641    ; FLATSCRW32-NEXT: {{  $}}
1642    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e32 32, $vgpr0, implicit $exec
1643    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
1644    renamable $vgpr0 = V_ADD_U32_e32 %stack.1, $vgpr0, implicit $exec
1645    SI_RETURN implicit $vgpr0
1646
1647...
1648
1649---
1650name: v_add_u32_e64__identity_vgpr__fi_offset32__kernel
1651tracksRegLiveness: true
1652stack:
1653  - { id: 0, size: 32, alignment: 16 }
1654  - { id: 1, size: 64, alignment: 4 }
1655machineFunctionInfo:
1656  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1657  frameOffsetReg:  '$sgpr33'
1658  stackPtrOffsetReg: '$sgpr32'
1659  isEntryFunction: true
1660body:             |
1661  bb.0:
1662    liveins: $vgpr0
1663
1664    ; MUBUF-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset32__kernel
1665    ; MUBUF: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1666    ; MUBUF-NEXT: {{  $}}
1667    ; MUBUF-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1668    ; MUBUF-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1669    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, 32, 0, implicit $exec
1670    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
1671    ;
1672    ; MUBUFW32-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset32__kernel
1673    ; MUBUFW32: liveins: $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3
1674    ; MUBUFW32-NEXT: {{  $}}
1675    ; MUBUFW32-NEXT: $sgpr0 = S_ADD_U32 $sgpr0, $noreg, implicit-def $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1676    ; MUBUFW32-NEXT: $sgpr1 = S_ADDC_U32 $sgpr1, 0, implicit-def dead $scc, implicit $scc, implicit-def $sgpr0_sgpr1_sgpr2_sgpr3
1677    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, 32, 0, implicit $exec
1678    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
1679    ;
1680    ; FLATSCRW64-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset32__kernel
1681    ; FLATSCRW64: liveins: $vgpr0
1682    ; FLATSCRW64-NEXT: {{  $}}
1683    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, 32, 0, implicit $exec
1684    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
1685    ;
1686    ; FLATSCRW32-LABEL: name: v_add_u32_e64__identity_vgpr__fi_offset32__kernel
1687    ; FLATSCRW32: liveins: $vgpr0
1688    ; FLATSCRW32-NEXT: {{  $}}
1689    ; FLATSCRW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, 32, 0, implicit $exec
1690    ; FLATSCRW32-NEXT: SI_RETURN implicit $vgpr0
1691    renamable $vgpr0 = V_ADD_U32_e64 $vgpr0, %stack.1, 0, implicit $exec
1692    SI_RETURN implicit $vgpr0
1693
1694...
1695
1696---
1697name:            v_add_u32_e64_imm_fi_vop3_literal_error
1698tracksRegLiveness: true
1699frameInfo:
1700  localFrameSize:  12576
1701stack:
1702  - { id: 0, size: 4, alignment: 8192, local-offset: 0 }
1703  - { id: 1, size: 8480, alignment: 4096, local-offset: 4096 }
1704machineFunctionInfo:
1705  scratchRSrcReg:  '$sgpr0_sgpr1_sgpr2_sgpr3'
1706  frameOffsetReg:  '$sgpr33'
1707  stackPtrOffsetReg: '$sgpr32'
1708body:             |
1709  bb.0:
1710    ; MUBUF-LABEL: name: v_add_u32_e64_imm_fi_vop3_literal_error
1711    ; MUBUF: liveins: $sgpr4, $sgpr5
1712    ; MUBUF-NEXT: {{  $}}
1713    ; MUBUF-NEXT: $sgpr4 = frame-setup COPY $sgpr33
1714    ; MUBUF-NEXT: $sgpr33 = frame-setup S_ADD_I32 $sgpr32, 524224, implicit-def $scc
1715    ; MUBUF-NEXT: $sgpr33 = frame-setup S_AND_B32 killed $sgpr33, 4294443008, implicit-def dead $scc
1716    ; MUBUF-NEXT: $sgpr5 = frame-setup COPY $sgpr34
1717    ; MUBUF-NEXT: $sgpr34 = frame-setup COPY $sgpr32
1718    ; MUBUF-NEXT: $sgpr32 = frame-setup S_ADD_I32 $sgpr32, 2097152, implicit-def dead $scc
1719    ; MUBUF-NEXT: $vgpr1 = V_LSHRREV_B32_e64 6, $sgpr33, implicit $exec
1720    ; MUBUF-NEXT: $vgpr1 = V_ADD_U32_e32 12288, killed $vgpr1, implicit $exec
1721    ; MUBUF-NEXT: renamable $vgpr0 = V_ADD_U32_e64 64, killed $vgpr1, 0, implicit $exec
1722    ; MUBUF-NEXT: $sgpr32 = frame-destroy COPY $sgpr34
1723    ; MUBUF-NEXT: $sgpr34 = frame-destroy COPY $sgpr5
1724    ; MUBUF-NEXT: $sgpr33 = frame-destroy COPY $sgpr4
1725    ; MUBUF-NEXT: SI_RETURN implicit $vgpr0
1726    ;
1727    ; MUBUFW32-LABEL: name: v_add_u32_e64_imm_fi_vop3_literal_error
1728    ; MUBUFW32: liveins: $sgpr4, $sgpr5
1729    ; MUBUFW32-NEXT: {{  $}}
1730    ; MUBUFW32-NEXT: $sgpr4 = frame-setup COPY $sgpr33
1731    ; MUBUFW32-NEXT: $sgpr33 = frame-setup S_ADD_I32 $sgpr32, 262112, implicit-def $scc
1732    ; MUBUFW32-NEXT: $sgpr33 = frame-setup S_AND_B32 killed $sgpr33, 4294705152, implicit-def dead $scc
1733    ; MUBUFW32-NEXT: $sgpr5 = frame-setup COPY $sgpr34
1734    ; MUBUFW32-NEXT: $sgpr34 = frame-setup COPY $sgpr32
1735    ; MUBUFW32-NEXT: $sgpr32 = frame-setup S_ADD_I32 $sgpr32, 1048576, implicit-def dead $scc
1736    ; MUBUFW32-NEXT: renamable $vgpr1 = V_LSHRREV_B32_e64 5, $sgpr33, implicit $exec
1737    ; MUBUFW32-NEXT: renamable $vgpr0 = V_ADD_U32_e64 12352, killed $vgpr1, 0, implicit $exec
1738    ; MUBUFW32-NEXT: $sgpr32 = frame-destroy COPY $sgpr34
1739    ; MUBUFW32-NEXT: $sgpr34 = frame-destroy COPY $sgpr5
1740    ; MUBUFW32-NEXT: $sgpr33 = frame-destroy COPY $sgpr4
1741    ; MUBUFW32-NEXT: SI_RETURN implicit $vgpr0
1742    ;
1743    ; FLATSCRW64-LABEL: name: v_add_u32_e64_imm_fi_vop3_literal_error
1744    ; FLATSCRW64: liveins: $sgpr4, $sgpr5
1745    ; FLATSCRW64-NEXT: {{  $}}
1746    ; FLATSCRW64-NEXT: $sgpr4 = frame-setup COPY $sgpr33
1747    ; FLATSCRW64-NEXT: $sgpr33 = frame-setup S_ADD_I32 $sgpr32, 8191, implicit-def $scc
1748    ; FLATSCRW64-NEXT: $sgpr33 = frame-setup S_AND_B32 killed $sgpr33, 4294959104, implicit-def dead $scc
1749    ; FLATSCRW64-NEXT: $sgpr5 = frame-setup COPY $sgpr34
1750    ; FLATSCRW64-NEXT: $sgpr34 = frame-setup COPY $sgpr32
1751    ; FLATSCRW64-NEXT: $sgpr32 = frame-setup S_ADD_I32 $sgpr32, 32768, implicit-def dead $scc
1752    ; FLATSCRW64-NEXT: $sgpr6 = S_ADD_I32 $sgpr33, 12288, implicit-def $scc
1753    ; FLATSCRW64-NEXT: renamable $vgpr0 = V_ADD_U32_e64 64, killed $sgpr6, 0, implicit $exec
1754    ; FLATSCRW64-NEXT: $sgpr32 = frame-destroy COPY $sgpr34
1755    ; FLATSCRW64-NEXT: $sgpr34 = frame-destroy COPY $sgpr5
1756    ; FLATSCRW64-NEXT: $sgpr33 = frame-destroy COPY $sgpr4
1757    ; FLATSCRW64-NEXT: SI_RETURN implicit $vgpr0
1758    renamable $vgpr0 = V_ADD_U32_e64 64, %stack.1, 0, implicit $exec
1759    SI_RETURN implicit $vgpr0
1760
1761...
1762