1 # RUN: llc -mtriple=amdgcn-amd-amdhsa -run-pass=none -verify-machineinstrs %s -o - | FileCheck -check-prefixes=FULL,ALL %s
2 # RUN: llc -mtriple=amdgcn-amd-amdhsa -run-pass=none -simplify-mir -verify-machineinstrs %s -o - | FileCheck -check-prefixes=SIMPLE,ALL %s
6 # ALL-LABEL: name: kernel0
7 # FULL: machineFunctionInfo:
8 # FULL-NEXT: explicitKernArgSize: 128
9 # FULL-NEXT: maxKernArgAlign: 64
10 # FULL-NEXT: ldsSize: 2048
11 # FULL-NEXT: gdsSize: 256
12 # FULL-NEXT: dynLDSAlign: 1
13 # FULL-NEXT: isEntryFunction: true
14 # FULL-NEXT: isChainFunction: false
15 # FULL-NEXT: noSignedZerosFPMath: false
16 # FULL-NEXT: memoryBound: true
17 # FULL-NEXT: waveLimiter: true
18 # FULL-NEXT: hasSpilledSGPRs: false
19 # FULL-NEXT: hasSpilledVGPRs: false
20 # FULL-NEXT: scratchRSrcReg: '$sgpr8_sgpr9_sgpr10_sgpr11'
21 # FULL-NEXT: frameOffsetReg: '$sgpr12'
22 # FULL-NEXT: stackPtrOffsetReg: '$sgpr13'
23 # FULL-NEXT: bytesInStackArgArea: 0
24 # FULL-NEXT: returnsVoid: true
25 # FULL-NEXT: argumentInfo:
26 # FULL-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }
27 # FULL-NEXT: dispatchPtr: { reg: '$sgpr4_sgpr5' }
28 # FULL-NEXT: queuePtr: { reg: '$sgpr6_sgpr7' }
29 # FULL-NEXT: kernargSegmentPtr: { reg: '$sgpr4_sgpr5' }
30 # FULL-NEXT: dispatchID: { reg: '$sgpr10_sgpr11' }
31 # FULL-NEXT: workGroupIDX: { reg: '$sgpr6' }
32 # FULL-NEXT: workGroupIDY: { reg: '$sgpr13' }
33 # FULL-NEXT: workGroupIDZ: { reg: '$sgpr14' }
34 # FULL-NEXT: LDSKernelId: { reg: '$sgpr15' }
35 # FULL-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr7' }
36 # FULL-NEXT: implicitArgPtr: { reg: '$sgpr8_sgpr9' }
37 # FULL-NEXT: workItemIDX: { reg: '$vgpr0' }
38 # FULL-NEXT: workItemIDY: { reg: '$vgpr31', mask: 1047552 }
39 # FULL-NEXT: workItemIDZ: { reg: '$vgpr31', mask: 1072693248 }
40 # FULL-NEXT: psInputAddr: 0
41 # FULL-NEXT: psInputEnable: 0
42 # FULL-NEXT: maxMemoryClusterDWords: 8
44 # FULL-NEXT: ieee: true
45 # FULL-NEXT: dx10-clamp: true
46 # FULL-NEXT: fp32-input-denormals: true
47 # FULL-NEXT: fp32-output-denormals: true
48 # FULL-NEXT: fp64-fp16-input-denormals: true
49 # FULL-NEXT: fp64-fp16-output-denormals: true
50 # FULL-NEXT: highBitsOf32BitAddress: 0
51 # FULL-NEXT: occupancy: 8
52 # FULL-NEXT: vgprForAGPRCopy: ''
53 # FULL-NEXT: sgprForEXECCopy: ''
54 # FULL-NEXT: longBranchReservedReg: ''
55 # FULL-NEXT: hasInitWholeWave: false
58 # SIMPLE: machineFunctionInfo:
59 # SIMPLE-NEXT: explicitKernArgSize: 128
60 # SIMPLE-NEXT: maxKernArgAlign: 64
61 # SIMPLE-NEXT: ldsSize: 2048
62 # SIMPLE-NEXT: gdsSize: 256
63 # SIMPLE-NEXT: isEntryFunction: true
64 # SIMPLE-NEXT: memoryBound: true
65 # SIMPLE-NEXT: waveLimiter: true
66 # SIMPLE-NEXT: scratchRSrcReg: '$sgpr8_sgpr9_sgpr10_sgpr11'
67 # SIMPLE-NEXT: frameOffsetReg: '$sgpr12'
68 # SIMPLE-NEXT: stackPtrOffsetReg: '$sgpr13'
69 # SIMPLE-NEXT: argumentInfo:
70 # SIMPLE-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }
71 # SIMPLE-NEXT: dispatchPtr: { reg: '$sgpr4_sgpr5' }
72 # SIMPLE-NEXT: queuePtr: { reg: '$sgpr6_sgpr7' }
73 # SIMPLE-NEXT: kernargSegmentPtr: { reg: '$sgpr4_sgpr5' }
74 # SIMPLE-NEXT: dispatchID: { reg: '$sgpr10_sgpr11' }
75 # SIMPLE-NEXT: workGroupIDX: { reg: '$sgpr6' }
76 # SIMPLE-NEXT: workGroupIDY: { reg: '$sgpr13' }
77 # SIMPLE-NEXT: workGroupIDZ: { reg: '$sgpr14' }
78 # SIMPLE-NEXT: LDSKernelId: { reg: '$sgpr15' }
79 # SIMPLE-NEXT: privateSegmentWaveByteOffset: { reg: '$sgpr7' }
80 # SIMPLE-NEXT: implicitArgPtr: { reg: '$sgpr8_sgpr9' }
81 # SIMPLE-NEXT: workItemIDX: { reg: '$vgpr0' }
82 # SIMPLE-NEXT: workItemIDY: { reg: '$vgpr31', mask: 1047552 }
83 # SIMPLE-NEXT: workItemIDZ: { reg: '$vgpr31', mask: 1072693248 }
84 # SIMPLE-NEXT: occupancy: 8
88 explicitKernArgSize: 128
93 noSignedZerosFPMath: false
96 scratchRSrcReg: '$sgpr8_sgpr9_sgpr10_sgpr11'
97 frameOffsetReg: '$sgpr12'
98 stackPtrOffsetReg: '$sgpr13'
100 privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }
101 kernargSegmentPtr: { reg: '$sgpr4_sgpr5' }
102 workGroupIDX: { reg: '$sgpr6' }
103 privateSegmentWaveByteOffset: { reg: '$sgpr7' }
104 workItemIDX: { reg: '$vgpr0' }
111 # FIXME: Should be able to not print section for simple
113 # ALL-LABEL: name: no_mfi
114 # FULL: machineFunctionInfo:
115 # FULL-NEXT: explicitKernArgSize: 0
116 # FULL-NEXT: maxKernArgAlign: 1
117 # FULL-NEXT: ldsSize: 0
118 # FULL-NEXT: gdsSize: 0
119 # FULL-NEXT: dynLDSAlign: 1
120 # FULL-NEXT: isEntryFunction: false
121 # FULL-NEXT: isChainFunction: false
122 # FULL-NEXT: noSignedZerosFPMath: false
123 # FULL-NEXT: memoryBound: false
124 # FULL-NEXT: waveLimiter: false
125 # FULL-NEXT: hasSpilledSGPRs: false
126 # FULL-NEXT: hasSpilledVGPRs: false
127 # FULL-NEXT: scratchRSrcReg: '$private_rsrc_reg'
128 # FULL-NEXT: frameOffsetReg: '$fp_reg'
129 # FULL-NEXT: stackPtrOffsetReg: '$sp_reg'
130 # FULL-NEXT: bytesInStackArgArea: 0
131 # FULL-NEXT: returnsVoid: true
132 # FULL-NEXT: argumentInfo:
133 # FULL-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }
134 # FULL-NEXT: dispatchPtr: { reg: '$sgpr4_sgpr5' }
135 # FULL-NEXT: queuePtr: { reg: '$sgpr6_sgpr7' }
136 # FULL-NEXT: dispatchID: { reg: '$sgpr10_sgpr11' }
137 # FULL-NEXT: workGroupIDX: { reg: '$sgpr12' }
138 # FULL-NEXT: workGroupIDY: { reg: '$sgpr13' }
139 # FULL-NEXT: workGroupIDZ: { reg: '$sgpr14' }
140 # FULL-NEXT: LDSKernelId: { reg: '$sgpr15' }
141 # FULL-NEXT: implicitArgPtr: { reg: '$sgpr8_sgpr9' }
142 # FULL-NEXT: workItemIDX: { reg: '$vgpr31', mask: 1023 }
143 # FULL-NEXT: workItemIDY: { reg: '$vgpr31', mask: 1047552 }
144 # FULL-NEXT: workItemIDZ: { reg: '$vgpr31', mask: 1072693248 }
145 # FULL-NEXT: psInputAddr: 0
146 # FULL-NEXT: psInputEnable: 0
147 # FULL-NEXT: maxMemoryClusterDWords: 8
149 # FULL-NEXT: ieee: true
150 # FULL-NEXT: dx10-clamp: true
151 # FULL-NEXT: fp32-input-denormals: true
152 # FULL-NEXT: fp32-output-denormals: true
153 # FULL-NEXT: fp64-fp16-input-denormals: true
154 # FULL-NEXT: fp64-fp16-output-denormals: true
155 # FULL-NEXT: highBitsOf32BitAddress: 0
156 # FULL-NEXT: occupancy: 8
157 # FULL-NEXT: vgprForAGPRCopy: ''
158 # FULL-NEXT: sgprForEXECCopy: ''
159 # FULL-NEXT: longBranchReservedReg: ''
160 # FULL-NEXT: hasInitWholeWave: false
163 # SIMPLE: machineFunctionInfo:
164 # SIMPLE-NEXT: maxKernArgAlign: 1
165 # SIMPLE-NEXT: argumentInfo:
166 # SIMPLE-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }
167 # SIMPLE-NEXT: dispatchPtr: { reg: '$sgpr4_sgpr5' }
168 # SIMPLE-NEXT: queuePtr: { reg: '$sgpr6_sgpr7' }
169 # SIMPLE-NEXT: dispatchID: { reg: '$sgpr10_sgpr11' }
170 # SIMPLE-NEXT: workGroupIDX: { reg: '$sgpr12' }
171 # SIMPLE-NEXT: workGroupIDY: { reg: '$sgpr13' }
172 # SIMPLE-NEXT: workGroupIDZ: { reg: '$sgpr14' }
173 # SIMPLE-NEXT: LDSKernelId: { reg: '$sgpr15' }
174 # SIMPLE-NEXT: implicitArgPtr: { reg: '$sgpr8_sgpr9' }
175 # SIMPLE-NEXT: workItemIDX: { reg: '$vgpr31', mask: 1023 }
176 # SIMPLE-NEXT: workItemIDY: { reg: '$vgpr31', mask: 1047552 }
177 # SIMPLE-NEXT: workItemIDZ: { reg: '$vgpr31', mask: 1072693248 }
178 # SIMPLE-NEXT: occupancy: 8
189 # ALL-LABEL: name: empty_mfi
190 # FULL: machineFunctionInfo:
191 # FULL-NEXT: explicitKernArgSize: 0
192 # FULL-NEXT: maxKernArgAlign: 1
193 # FULL-NEXT: ldsSize: 0
194 # FULL-NEXT: gdsSize: 0
195 # FULL-NEXT: dynLDSAlign: 1
196 # FULL-NEXT: isEntryFunction: false
197 # FULL-NEXT: isChainFunction: false
198 # FULL-NEXT: noSignedZerosFPMath: false
199 # FULL-NEXT: memoryBound: false
200 # FULL-NEXT: waveLimiter: false
201 # FULL-NEXT: hasSpilledSGPRs: false
202 # FULL-NEXT: hasSpilledVGPRs: false
203 # FULL-NEXT: scratchRSrcReg: '$private_rsrc_reg'
204 # FULL-NEXT: frameOffsetReg: '$fp_reg'
205 # FULL-NEXT: stackPtrOffsetReg: '$sp_reg'
206 # FULL-NEXT: bytesInStackArgArea: 0
207 # FULL-NEXT: returnsVoid: true
208 # FULL-NEXT: argumentInfo:
209 # FULL-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }
210 # FULL-NEXT: dispatchPtr: { reg: '$sgpr4_sgpr5' }
211 # FULL-NEXT: queuePtr: { reg: '$sgpr6_sgpr7' }
212 # FULL-NEXT: dispatchID: { reg: '$sgpr10_sgpr11' }
213 # FULL-NEXT: workGroupIDX: { reg: '$sgpr12' }
214 # FULL-NEXT: workGroupIDY: { reg: '$sgpr13' }
215 # FULL-NEXT: workGroupIDZ: { reg: '$sgpr14' }
216 # FULL-NEXT: LDSKernelId: { reg: '$sgpr15' }
217 # FULL-NEXT: implicitArgPtr: { reg: '$sgpr8_sgpr9' }
218 # FULL-NEXT: workItemIDX: { reg: '$vgpr31', mask: 1023 }
219 # FULL-NEXT: workItemIDY: { reg: '$vgpr31', mask: 1047552 }
220 # FULL-NEXT: workItemIDZ: { reg: '$vgpr31', mask: 1072693248 }
221 # FULL-NEXT: psInputAddr: 0
222 # FULL-NEXT: psInputEnable: 0
223 # FULL-NEXT: maxMemoryClusterDWords: 8
225 # FULL-NEXT: ieee: true
226 # FULL-NEXT: dx10-clamp: true
227 # FULL-NEXT: fp32-input-denormals: true
228 # FULL-NEXT: fp32-output-denormals: true
229 # FULL-NEXT: fp64-fp16-input-denormals: true
230 # FULL-NEXT: fp64-fp16-output-denormals: true
231 # FULL-NEXT: highBitsOf32BitAddress: 0
232 # FULL-NEXT: occupancy: 8
233 # FULL-NEXT: vgprForAGPRCopy: ''
234 # FULL-NEXT: sgprForEXECCopy: ''
235 # FULL-NEXT: longBranchReservedReg: ''
236 # FULL-NEXT: hasInitWholeWave: false
239 # SIMPLE: machineFunctionInfo:
240 # SIMPLE-NEXT: maxKernArgAlign: 1
241 # SIMPLE-NEXT: argumentInfo:
242 # SIMPLE-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }
243 # SIMPLE-NEXT: dispatchPtr: { reg: '$sgpr4_sgpr5' }
244 # SIMPLE-NEXT: queuePtr: { reg: '$sgpr6_sgpr7' }
245 # SIMPLE-NEXT: dispatchID: { reg: '$sgpr10_sgpr11' }
246 # SIMPLE-NEXT: workGroupIDX: { reg: '$sgpr12' }
247 # SIMPLE-NEXT: workGroupIDY: { reg: '$sgpr13' }
248 # SIMPLE-NEXT: workGroupIDZ: { reg: '$sgpr14' }
249 # SIMPLE-NEXT: LDSKernelId: { reg: '$sgpr15' }
250 # SIMPLE-NEXT: implicitArgPtr: { reg: '$sgpr8_sgpr9' }
251 # SIMPLE-NEXT: workItemIDX: { reg: '$vgpr31', mask: 1023 }
252 # SIMPLE-NEXT: workItemIDY: { reg: '$vgpr31', mask: 1047552 }
253 # SIMPLE-NEXT: workItemIDZ: { reg: '$vgpr31', mask: 1072693248 }
254 # SIMPLE-NEXT: occupancy: 8
266 # ALL-LABEL: name: empty_mfi_entry_func
267 # FULL: machineFunctionInfo:
268 # FULL-NEXT: explicitKernArgSize: 0
269 # FULL-NEXT: maxKernArgAlign: 1
270 # FULL-NEXT: ldsSize: 0
271 # FULL-NEXT: gdsSize: 0
272 # FULL-NEXT: dynLDSAlign: 1
273 # FULL-NEXT: isEntryFunction: true
274 # FULL-NEXT: isChainFunction: false
275 # FULL-NEXT: noSignedZerosFPMath: false
276 # FULL-NEXT: memoryBound: false
277 # FULL-NEXT: waveLimiter: false
278 # FULL-NEXT: hasSpilledSGPRs: false
279 # FULL-NEXT: hasSpilledVGPRs: false
280 # FULL-NEXT: scratchRSrcReg: '$private_rsrc_reg'
281 # FULL-NEXT: frameOffsetReg: '$fp_reg'
282 # FULL-NEXT: stackPtrOffsetReg: '$sp_reg'
283 # FULL-NEXT: bytesInStackArgArea: 0
284 # FULL-NEXT: returnsVoid: true
285 # FULL-NEXT: argumentInfo:
286 # FULL-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }
287 # FULL-NEXT: dispatchPtr: { reg: '$sgpr4_sgpr5' }
288 # FULL-NEXT: queuePtr: { reg: '$sgpr6_sgpr7' }
289 # FULL-NEXT: dispatchID: { reg: '$sgpr10_sgpr11' }
290 # FULL-NEXT: workGroupIDX: { reg: '$sgpr12' }
291 # FULL-NEXT: workGroupIDY: { reg: '$sgpr13' }
292 # FULL-NEXT: workGroupIDZ: { reg: '$sgpr14' }
293 # FULL-NEXT: LDSKernelId: { reg: '$sgpr15' }
294 # FULL-NEXT: implicitArgPtr: { reg: '$sgpr8_sgpr9' }
295 # FULL-NEXT: workItemIDX: { reg: '$vgpr31', mask: 1023 }
296 # FULL-NEXT: workItemIDY: { reg: '$vgpr31', mask: 1047552 }
297 # FULL-NEXT: workItemIDZ: { reg: '$vgpr31', mask: 1072693248 }
298 # FULL-NEXT: psInputAddr: 0
299 # FULL-NEXT: psInputEnable: 0
300 # FULL-NEXT: maxMemoryClusterDWords: 8
302 # FULL-NEXT: ieee: true
303 # FULL-NEXT: dx10-clamp: true
304 # FULL-NEXT: fp32-input-denormals: true
305 # FULL-NEXT: fp32-output-denormals: true
306 # FULL-NEXT: fp64-fp16-input-denormals: true
307 # FULL-NEXT: fp64-fp16-output-denormals: true
308 # FULL-NEXT: highBitsOf32BitAddress: 0
309 # FULL-NEXT: occupancy: 8
310 # FULL-NEXT: vgprForAGPRCopy: ''
311 # FULL-NEXT: sgprForEXECCopy: ''
312 # FULL-NEXT: longBranchReservedReg: ''
313 # FULL-NEXT: hasInitWholeWave: false
316 # SIMPLE: machineFunctionInfo:
317 # SIMPLE-NEXT: maxKernArgAlign: 1
318 # SIMPLE-NEXT: isEntryFunction: true
319 # SIMPLE-NEXT: argumentInfo:
320 # SIMPLE-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }
321 # SIMPLE-NEXT: dispatchPtr: { reg: '$sgpr4_sgpr5' }
322 # SIMPLE-NEXT: queuePtr: { reg: '$sgpr6_sgpr7' }
323 # SIMPLE-NEXT: dispatchID: { reg: '$sgpr10_sgpr11' }
324 # SIMPLE-NEXT: workGroupIDX: { reg: '$sgpr12' }
325 # SIMPLE-NEXT: workGroupIDY: { reg: '$sgpr13' }
326 # SIMPLE-NEXT: workGroupIDZ: { reg: '$sgpr14' }
327 # SIMPLE-NEXT: LDSKernelId: { reg: '$sgpr15' }
328 # SIMPLE-NEXT: implicitArgPtr: { reg: '$sgpr8_sgpr9' }
329 # SIMPLE-NEXT: workItemIDX: { reg: '$vgpr31', mask: 1023 }
330 # SIMPLE-NEXT: workItemIDY: { reg: '$vgpr31', mask: 1047552 }
331 # SIMPLE-NEXT: workItemIDZ: { reg: '$vgpr31', mask: 1072693248 }
332 # SIMPLE-NEXT: occupancy: 8
335 name: empty_mfi_entry_func
337 isEntryFunction: true
345 # ALL-LABEL: name: default_regs_mfi
347 # FULL: scratchRSrcReg: '$private_rsrc_reg'
348 # FULL-NEXT: frameOffsetReg: '$fp_reg'
349 # FULL-NEXT: stackPtrOffsetReg: '$sp_reg'
351 # SIMPLE-NOT: scratchRSrcReg
352 # SIMPLE-NOT:: stackPtrOffsetReg
353 name: default_regs_mfi
355 scratchRSrcReg: '$private_rsrc_reg'
364 # ALL-LABEL: name: fake_stack_arginfo
366 # FULL: argumentInfo:
367 # FULL: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }
368 # FULL: flatScratchInit: { offset: 4 }
369 # FULL: workItemIDY: { reg: '$vgpr0', mask: 65280 }
371 # SIMPLE: argumentInfo:
372 # SIMPLE-NEXT: privateSegmentBuffer: { reg: '$sgpr0_sgpr1_sgpr2_sgpr3' }
373 # SIMPLE-NEXT: dispatchPtr: { reg: '$sgpr4_sgpr5' }
374 # SIMPLE-NEXT: queuePtr: { reg: '$sgpr6_sgpr7' }
375 # SIMPLE-NEXT: dispatchID: { reg: '$sgpr10_sgpr11' }
376 # SIMPLE-NEXT: flatScratchInit: { offset: 4 }
377 # SIMPLE-NEXT: workGroupIDX: { reg: '$sgpr12' }
378 # SIMPLE-NEXT: workGroupIDY: { reg: '$sgpr13' }
379 # SIMPLE-NEXT: workGroupIDZ: { reg: '$sgpr14' }
380 # SIMPLE-NEXT: LDSKernelId: { reg: '$sgpr15' }
381 # SIMPLE-NEXT: implicitArgPtr: { reg: '$sgpr8_sgpr9' }
382 # SIMPLE-NEXT: workItemIDX: { reg: '$vgpr31', mask: 1023 }
383 # SIMPLE-NEXT: workItemIDY: { reg: '$vgpr0', mask: 65280 }
384 # SIMPLE-NEXT: workItemIDZ: { reg: '$vgpr31', mask: 1072693248 }
385 name: fake_stack_arginfo
388 flatScratchInit: { offset: 4 }
389 workItemIDY: { reg: '$vgpr0' , mask: 0xff00 }
398 # ALL-LABEL: name: parse_mode
400 # ALL-NEXT: ieee: false
401 # ALL-NEXT: dx10-clamp: false
402 # ALL-NEXT: fp32-input-denormals: false
403 # ALL-NEXT: fp32-output-denormals: false
404 # ALL-NEXT: fp64-fp16-input-denormals: false
405 # ALL-NEXT: fp64-fp16-output-denormals: false
412 fp32-input-denormals: false
413 fp32-output-denormals: false
414 fp64-fp16-input-denormals: false
415 fp64-fp16-output-denormals: false
425 # ALL-LABEL: name: parse_spilled_regs
426 # ALL: machineFunctionInfo:
427 # ALL: hasSpilledSGPRs: true
428 # ALL-NEXT: hasSpilledVGPRs: true
430 name: parse_spilled_regs
432 hasSpilledSGPRs: true
433 hasSpilledVGPRs: true
442 # ALL-LABEL: name: dyn_lds_with_alignment
445 # FULL-NEXT: gdsSize: 0
446 # FULL-NEXT: dynLDSAlign: 8
448 # SIMPLE: dynLDSAlign: 8
449 name: dyn_lds_with_alignment
460 # ALL-LABEL: name: occupancy_0
473 # ALL-LABEL: name: occupancy_3
486 # ALL-LABEL: name: scavenge_fi
487 # ALL: scavengeFI: '%stack.0'
490 - { id: 0, name: '', type: spill-slot, offset: 0, size: 4, alignment: 4 }
492 scavengeFI: '%stack.0'
501 # ALL-LABEL: name: bytes_in_stack_arg_area
502 # ALL: bytesInStackArgArea: 444
503 name: bytes_in_stack_arg_area
505 bytesInStackArgArea: 444
513 # ALL-LABEL: name: returns_void_true
514 # FULL: returnsVoid: true
515 # SIMPLE-NOT: returnsVoid
516 name: returns_void_true
525 # ALL-LABEL: name: returns_void_false
526 # ALL: returnsVoid: false
527 name: returns_void_false
537 # ALL-LABEL: name: vgpr_for_agpr_copy
538 # ALL: vgprForAGPRCopy: '$vgpr2'
539 name: vgpr_for_agpr_copy
541 vgprForAGPRCopy: '$vgpr2'
549 # ALL-LABEL: name: vgpr_for_agpr_copy_noreg
550 # FULL: vgprForAGPRCopy: ''
551 # SIMPLE-NOT: vgprForAGPRCopy
552 name: vgpr_for_agpr_copy_noreg
554 vgprForAGPRCopy: '$noreg'
562 # ALL-LABEL: name: sgpr_for_exec_copy
563 # ALL: sgprForEXECCopy: '$sgpr2_sgpr3'
564 name: sgpr_for_exec_copy
566 sgprForEXECCopy: '$sgpr2_sgpr3'
574 # ALL-LABEL: name: sgpr_for_exec_copy_noreg
575 # FULL: sgprForEXECCopy: ''
576 # SIMPLE-NOT: sgprForEXECCopy
577 name: sgpr_for_exec_copy_noreg
579 sgprForEXECCopy: '$noreg'
588 # FULL-NEXT: - { id: 0, class: vgpr_32, preferred-register: '$vgpr1', flags: [ WWM_REG ] }
589 # FULL-NEXT: - { id: 1, class: sgpr_64, preferred-register: '$sgpr0_sgpr1', flags: [ ] }
590 # FULL-NEXT: - { id: 2, class: sgpr_64, preferred-register: '', flags: [ ] }
592 - { id: 0, class: vgpr_32, preferred-register: $vgpr1, flags: [ WWM_REG ]}
593 - { id: 1, class: sgpr_64, preferred-register: $sgpr0_sgpr1 }
594 - { id: 2, class: sgpr_64, flags: [ ] }
602 # ALL-LABEL: name: max_memory_cluster_dwords
603 # ALL: maxMemoryClusterDWords: 16
604 name: max_memory_cluster_dwords
606 maxMemoryClusterDWords: 16