xref: /llvm-project/llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s (revision 17eaa23f7ecdfe79ad74552aaa260e6ce32432c2)
1// RUN: not llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx90a %s 2>&1 | FileCheck --check-prefix=ASM %s
2
3// Some expression currently require (immediately) solvable expressions, i.e.,
4// they don't depend on yet-unknown symbolic values.
5
6.text
7
8.amdhsa_code_object_version 4
9
10.p2align 8
11.type user_sgpr_count,@function
12user_sgpr_count:
13  s_endpgm
14
15.p2align 6
16.amdhsa_kernel user_sgpr_count
17  .amdhsa_next_free_vgpr 0
18  .amdhsa_next_free_sgpr 0
19  .amdhsa_accum_offset 4
20// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
21  .amdhsa_user_sgpr_count defined_boolean
22.end_amdhsa_kernel
23
24
25.p2align 8
26.type user_sgpr_private_segment_buffer,@function
27user_sgpr_private_segment_buffer:
28  s_endpgm
29
30.amdhsa_kernel user_sgpr_private_segment_buffer
31  .amdhsa_next_free_vgpr 0
32  .amdhsa_next_free_sgpr 0
33  .amdhsa_accum_offset 4
34// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
35  .amdhsa_user_sgpr_private_segment_buffer defined_boolean
36.end_amdhsa_kernel
37
38.p2align 8
39.type user_sgpr_kernarg_preload_length,@function
40user_sgpr_kernarg_preload_length:
41  s_endpgm
42
43.amdhsa_kernel user_sgpr_kernarg_preload_length
44  .amdhsa_next_free_vgpr 0
45  .amdhsa_next_free_sgpr 0
46  .amdhsa_accum_offset 4
47// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
48  .amdhsa_user_sgpr_kernarg_preload_length defined_boolean
49.end_amdhsa_kernel
50
51.p2align 8
52.type user_sgpr_kernarg_preload_offset,@function
53user_sgpr_kernarg_preload_offset:
54  s_endpgm
55
56.amdhsa_kernel user_sgpr_kernarg_preload_offset
57  .amdhsa_next_free_vgpr 0
58  .amdhsa_next_free_sgpr 0
59  .amdhsa_accum_offset 4
60// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
61  .amdhsa_user_sgpr_kernarg_preload_offset defined_boolean
62.end_amdhsa_kernel
63
64.p2align 8
65.type user_sgpr_dispatch_ptr,@function
66user_sgpr_dispatch_ptr:
67  s_endpgm
68
69.p2align 6
70.amdhsa_kernel user_sgpr_dispatch_ptr
71  .amdhsa_next_free_vgpr 0
72  .amdhsa_next_free_sgpr 0
73  .amdhsa_accum_offset 4
74// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
75  .amdhsa_user_sgpr_dispatch_ptr defined_boolean
76.end_amdhsa_kernel
77
78.p2align 8
79.type user_sgpr_queue_ptr,@function
80user_sgpr_queue_ptr:
81  s_endpgm
82
83.p2align 6
84.amdhsa_kernel user_sgpr_queue_ptr
85  .amdhsa_next_free_vgpr 0
86  .amdhsa_next_free_sgpr 0
87  .amdhsa_accum_offset 4
88// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
89  .amdhsa_user_sgpr_queue_ptr defined_boolean
90.end_amdhsa_kernel
91
92.p2align 8
93.type user_sgpr_kernarg_segment_ptr,@function
94user_sgpr_kernarg_segment_ptr:
95  s_endpgm
96
97.p2align 6
98.amdhsa_kernel user_sgpr_kernarg_segment_ptr
99  .amdhsa_next_free_vgpr 0
100  .amdhsa_next_free_sgpr 0
101  .amdhsa_accum_offset 4
102// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
103  .amdhsa_user_sgpr_kernarg_segment_ptr defined_boolean
104.end_amdhsa_kernel
105
106.p2align 8
107.type user_sgpr_dispatch_id,@function
108user_sgpr_dispatch_id:
109  s_endpgm
110
111.p2align 6
112.amdhsa_kernel user_sgpr_dispatch_id
113  .amdhsa_next_free_vgpr 0
114  .amdhsa_next_free_sgpr 0
115  .amdhsa_accum_offset 4
116// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
117  .amdhsa_user_sgpr_dispatch_id defined_boolean
118.end_amdhsa_kernel
119
120.p2align 8
121.type user_sgpr_flat_scratch_init,@function
122user_sgpr_flat_scratch_init:
123  s_endpgm
124
125.p2align 6
126.amdhsa_kernel user_sgpr_flat_scratch_init
127  .amdhsa_next_free_vgpr 0
128  .amdhsa_next_free_sgpr 0
129  .amdhsa_accum_offset 4
130// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
131  .amdhsa_user_sgpr_flat_scratch_init defined_boolean
132.end_amdhsa_kernel
133
134.p2align 8
135.type user_sgpr_private_segment_size,@function
136user_sgpr_private_segment_size:
137  s_endpgm
138
139.p2align 6
140.amdhsa_kernel user_sgpr_private_segment_size
141  .amdhsa_next_free_vgpr 0
142  .amdhsa_next_free_sgpr 0
143  .amdhsa_accum_offset 4
144// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
145  .amdhsa_user_sgpr_private_segment_size defined_boolean
146.end_amdhsa_kernel
147
148.p2align 8
149.type wavefront_size32,@function
150wavefront_size32:
151  s_endpgm
152
153.p2align 6
154.amdhsa_kernel wavefront_size32
155  .amdhsa_next_free_vgpr 0
156  .amdhsa_next_free_sgpr 0
157  .amdhsa_accum_offset 4
158// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
159  .amdhsa_wavefront_size32 defined_boolean
160.end_amdhsa_kernel
161
162.p2align 8
163.type shared_vgpr_count,@function
164shared_vgpr_count:
165  s_endpgm
166
167.p2align 6
168.amdhsa_kernel shared_vgpr_count
169  .amdhsa_next_free_vgpr 0
170  .amdhsa_next_free_sgpr 0
171  .amdhsa_accum_offset 4
172// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
173  .amdhsa_shared_vgpr_count defined_boolean
174.end_amdhsa_kernel
175
176.set defined_boolean, 1
177