1 // RUN
: llvm-mc
-triple amdgcn-amd-amdhsa
-mcpu
=gfx90a
--amdhsa-code-object-version
=3 -mattr
=+xnack
< %s | FileCheck
--check-prefix
=ASM
%s
6 .amdgcn_target "amdgcn-amd-amdhsa--gfx90a+xnack+sram-ecc"
7 // ASM
: .amdgcn_target "amdgcn-amd-amdhsa--gfx90a+xnack+sram-ecc"
10 // ASM-LABEL
: .amdhsa_kernel user_sgprs_implied_count
11 // ASM
: .amdhsa_user_sgpr_count 15
12 .amdhsa_kernel user_sgprs_implied_count_all
13 .amdhsa_user_sgpr_private_segment_buffer 1
14 .amdhsa_user_sgpr_dispatch_ptr 1
15 .amdhsa_user_sgpr_queue_ptr 1
16 .amdhsa_user_sgpr_kernarg_segment_ptr 1
17 .amdhsa_user_sgpr_dispatch_id 1
18 .amdhsa_user_sgpr_flat_scratch_init 1
19 .amdhsa_user_sgpr_private_segment_size 1
20 .amdhsa_accum_offset 4
21 .amdhsa_next_free_vgpr 32
22 .amdhsa_next_free_sgpr 32
25 // ASM-LABEL
: .amdhsa_kernel user_sgprs_implied_count_0
26 // ASM
: .amdhsa_user_sgpr_count 7
27 .amdhsa_kernel user_sgprs_implied_count_0
28 .amdhsa_user_sgpr_queue_ptr 1
29 .amdhsa_user_sgpr_kernarg_segment_ptr 1
30 .amdhsa_user_sgpr_flat_scratch_init 1
31 .amdhsa_user_sgpr_private_segment_size 1
32 .amdhsa_accum_offset 4
33 .amdhsa_next_free_vgpr 32
34 .amdhsa_next_free_sgpr 32
37 // ASM-LABEL
: .amdhsa_kernel user_sgprs_implied_count_1
38 // ASM
: .amdhsa_user_sgpr_count 9
39 .amdhsa_kernel user_sgprs_implied_count_1
40 .amdhsa_user_sgpr_private_segment_buffer 1
41 .amdhsa_user_sgpr_queue_ptr 1
42 .amdhsa_user_sgpr_kernarg_segment_ptr 1
43 .amdhsa_user_sgpr_private_segment_size 1
44 .amdhsa_accum_offset 4
45 .amdhsa_next_free_vgpr 32
46 .amdhsa_next_free_sgpr 32
50 // ASM-LABEL
: .amdhsa_kernel user_sgprs_implied_count_private_segment_buffer
51 // ASM
: .amdhsa_user_sgpr_count 4
52 .amdhsa_kernel user_sgprs_implied_count_private_segment_buffer
53 .amdhsa_user_sgpr_private_segment_buffer 1
54 .amdhsa_accum_offset 4
55 .amdhsa_next_free_vgpr 32
56 .amdhsa_next_free_sgpr 32
60 // ASM-LABEL
: .amdhsa_kernel explicit_user_sgpr_count_16
61 .amdhsa_kernel explicit_user_sgpr_count_16
62 .amdhsa_user_sgpr_count 16
63 .amdhsa_accum_offset 4
64 .amdhsa_next_free_vgpr 32
65 .amdhsa_next_free_sgpr 32
69 // ASM-LABEL
: .amdhsa_kernel explicit_user_sgpr_count_0
70 // ASM
: .amdhsa_user_sgpr_count 0
71 .amdhsa_kernel explicit_user_sgpr_count_0
72 .amdhsa_user_sgpr_count 0
73 .amdhsa_accum_offset 4
74 .amdhsa_next_free_vgpr 32
75 .amdhsa_next_free_sgpr 32
78 // ASM-LABEL
: .amdhsa_kernel explicit_user_sgpr_count_1
79 // ASM
: .amdhsa_user_sgpr_count 1
80 .amdhsa_kernel explicit_user_sgpr_count_1
81 .amdhsa_user_sgpr_count 1
82 .amdhsa_accum_offset 4
83 .amdhsa_next_free_vgpr 32
84 .amdhsa_next_free_sgpr 32
87 .amdhsa_kernel explicit_user_sgpr_count_larger_than_implied
88 .amdhsa_user_sgpr_count 12
89 .amdhsa_user_sgpr_private_segment_buffer 1
90 .amdhsa_user_sgpr_queue_ptr 1
91 .amdhsa_user_sgpr_kernarg_segment_ptr 1
92 .amdhsa_accum_offset 4
93 .amdhsa_next_free_vgpr 32
94 .amdhsa_next_free_sgpr 32
97 .amdhsa_kernel preload_kernarg_0
98 .amdhsa_user_sgpr_count 3
99 .amdhsa_user_sgpr_queue_ptr 1
100 .amdhsa_user_sgpr_kernarg_preload_length 1
101 .amdhsa_user_sgpr_kernarg_preload_offset 1
102 .amdhsa_kernarg_size 8
103 .amdhsa_accum_offset 4
104 .amdhsa_next_free_vgpr 32
105 .amdhsa_next_free_sgpr 32
108 .amdhsa_kernel preload_kernarg_1
109 .amdhsa_user_sgpr_count 3
110 .amdhsa_user_sgpr_queue_ptr 1
111 .amdhsa_user_sgpr_kernarg_preload_length 0
112 .amdhsa_user_sgpr_kernarg_preload_offset 10
113 .amdhsa_kernarg_size 0
114 .amdhsa_accum_offset 4
115 .amdhsa_next_free_vgpr 32
116 .amdhsa_next_free_sgpr 32
119 .amdhsa_kernel preload_kernarg_2
120 .amdhsa_user_sgpr_count 3
121 .amdhsa_user_sgpr_queue_ptr 1
122 .amdhsa_user_sgpr_kernarg_preload_length 1
123 .amdhsa_user_sgpr_kernarg_preload_offset 0
124 .amdhsa_accum_offset 4
125 .amdhsa_next_free_vgpr 32
126 .amdhsa_next_free_sgpr 32