xref: /llvm-project/llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s (revision 17eaa23f7ecdfe79ad74552aaa260e6ce32432c2)
11103a2a3SJanek van Oirschot// RUN: not llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx90a %s 2>&1 | FileCheck --check-prefix=ASM %s
21103a2a3SJanek van Oirschot
31103a2a3SJanek van Oirschot// Some expression currently require (immediately) solvable expressions, i.e.,
41103a2a3SJanek van Oirschot// they don't depend on yet-unknown symbolic values.
51103a2a3SJanek van Oirschot
61103a2a3SJanek van Oirschot.text
71103a2a3SJanek van Oirschot
81103a2a3SJanek van Oirschot.amdhsa_code_object_version 4
91103a2a3SJanek van Oirschot
101103a2a3SJanek van Oirschot.p2align 8
111103a2a3SJanek van Oirschot.type user_sgpr_count,@function
121103a2a3SJanek van Oirschotuser_sgpr_count:
131103a2a3SJanek van Oirschot  s_endpgm
141103a2a3SJanek van Oirschot
151103a2a3SJanek van Oirschot.p2align 6
161103a2a3SJanek van Oirschot.amdhsa_kernel user_sgpr_count
171103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
181103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
191103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
20*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
211103a2a3SJanek van Oirschot  .amdhsa_user_sgpr_count defined_boolean
221103a2a3SJanek van Oirschot.end_amdhsa_kernel
231103a2a3SJanek van Oirschot
241103a2a3SJanek van Oirschot
251103a2a3SJanek van Oirschot.p2align 8
261103a2a3SJanek van Oirschot.type user_sgpr_private_segment_buffer,@function
271103a2a3SJanek van Oirschotuser_sgpr_private_segment_buffer:
281103a2a3SJanek van Oirschot  s_endpgm
291103a2a3SJanek van Oirschot
301103a2a3SJanek van Oirschot.amdhsa_kernel user_sgpr_private_segment_buffer
311103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
321103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
331103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
34*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
351103a2a3SJanek van Oirschot  .amdhsa_user_sgpr_private_segment_buffer defined_boolean
361103a2a3SJanek van Oirschot.end_amdhsa_kernel
371103a2a3SJanek van Oirschot
381103a2a3SJanek van Oirschot.p2align 8
391103a2a3SJanek van Oirschot.type user_sgpr_kernarg_preload_length,@function
401103a2a3SJanek van Oirschotuser_sgpr_kernarg_preload_length:
411103a2a3SJanek van Oirschot  s_endpgm
421103a2a3SJanek van Oirschot
431103a2a3SJanek van Oirschot.amdhsa_kernel user_sgpr_kernarg_preload_length
441103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
451103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
461103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
47*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
481103a2a3SJanek van Oirschot  .amdhsa_user_sgpr_kernarg_preload_length defined_boolean
491103a2a3SJanek van Oirschot.end_amdhsa_kernel
501103a2a3SJanek van Oirschot
511103a2a3SJanek van Oirschot.p2align 8
521103a2a3SJanek van Oirschot.type user_sgpr_kernarg_preload_offset,@function
531103a2a3SJanek van Oirschotuser_sgpr_kernarg_preload_offset:
541103a2a3SJanek van Oirschot  s_endpgm
551103a2a3SJanek van Oirschot
561103a2a3SJanek van Oirschot.amdhsa_kernel user_sgpr_kernarg_preload_offset
571103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
581103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
591103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
60*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
611103a2a3SJanek van Oirschot  .amdhsa_user_sgpr_kernarg_preload_offset defined_boolean
621103a2a3SJanek van Oirschot.end_amdhsa_kernel
631103a2a3SJanek van Oirschot
641103a2a3SJanek van Oirschot.p2align 8
651103a2a3SJanek van Oirschot.type user_sgpr_dispatch_ptr,@function
661103a2a3SJanek van Oirschotuser_sgpr_dispatch_ptr:
671103a2a3SJanek van Oirschot  s_endpgm
681103a2a3SJanek van Oirschot
691103a2a3SJanek van Oirschot.p2align 6
701103a2a3SJanek van Oirschot.amdhsa_kernel user_sgpr_dispatch_ptr
711103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
721103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
731103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
74*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
751103a2a3SJanek van Oirschot  .amdhsa_user_sgpr_dispatch_ptr defined_boolean
761103a2a3SJanek van Oirschot.end_amdhsa_kernel
771103a2a3SJanek van Oirschot
781103a2a3SJanek van Oirschot.p2align 8
791103a2a3SJanek van Oirschot.type user_sgpr_queue_ptr,@function
801103a2a3SJanek van Oirschotuser_sgpr_queue_ptr:
811103a2a3SJanek van Oirschot  s_endpgm
821103a2a3SJanek van Oirschot
831103a2a3SJanek van Oirschot.p2align 6
841103a2a3SJanek van Oirschot.amdhsa_kernel user_sgpr_queue_ptr
851103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
861103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
871103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
88*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
891103a2a3SJanek van Oirschot  .amdhsa_user_sgpr_queue_ptr defined_boolean
901103a2a3SJanek van Oirschot.end_amdhsa_kernel
911103a2a3SJanek van Oirschot
921103a2a3SJanek van Oirschot.p2align 8
931103a2a3SJanek van Oirschot.type user_sgpr_kernarg_segment_ptr,@function
941103a2a3SJanek van Oirschotuser_sgpr_kernarg_segment_ptr:
951103a2a3SJanek van Oirschot  s_endpgm
961103a2a3SJanek van Oirschot
971103a2a3SJanek van Oirschot.p2align 6
981103a2a3SJanek van Oirschot.amdhsa_kernel user_sgpr_kernarg_segment_ptr
991103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
1001103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
1011103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
102*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
1031103a2a3SJanek van Oirschot  .amdhsa_user_sgpr_kernarg_segment_ptr defined_boolean
1041103a2a3SJanek van Oirschot.end_amdhsa_kernel
1051103a2a3SJanek van Oirschot
1061103a2a3SJanek van Oirschot.p2align 8
1071103a2a3SJanek van Oirschot.type user_sgpr_dispatch_id,@function
1081103a2a3SJanek van Oirschotuser_sgpr_dispatch_id:
1091103a2a3SJanek van Oirschot  s_endpgm
1101103a2a3SJanek van Oirschot
1111103a2a3SJanek van Oirschot.p2align 6
1121103a2a3SJanek van Oirschot.amdhsa_kernel user_sgpr_dispatch_id
1131103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
1141103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
1151103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
116*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
1171103a2a3SJanek van Oirschot  .amdhsa_user_sgpr_dispatch_id defined_boolean
1181103a2a3SJanek van Oirschot.end_amdhsa_kernel
1191103a2a3SJanek van Oirschot
1201103a2a3SJanek van Oirschot.p2align 8
1211103a2a3SJanek van Oirschot.type user_sgpr_flat_scratch_init,@function
1221103a2a3SJanek van Oirschotuser_sgpr_flat_scratch_init:
1231103a2a3SJanek van Oirschot  s_endpgm
1241103a2a3SJanek van Oirschot
1251103a2a3SJanek van Oirschot.p2align 6
1261103a2a3SJanek van Oirschot.amdhsa_kernel user_sgpr_flat_scratch_init
1271103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
1281103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
1291103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
130*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
1311103a2a3SJanek van Oirschot  .amdhsa_user_sgpr_flat_scratch_init defined_boolean
1321103a2a3SJanek van Oirschot.end_amdhsa_kernel
1331103a2a3SJanek van Oirschot
1341103a2a3SJanek van Oirschot.p2align 8
1351103a2a3SJanek van Oirschot.type user_sgpr_private_segment_size,@function
1361103a2a3SJanek van Oirschotuser_sgpr_private_segment_size:
1371103a2a3SJanek van Oirschot  s_endpgm
1381103a2a3SJanek van Oirschot
1391103a2a3SJanek van Oirschot.p2align 6
1401103a2a3SJanek van Oirschot.amdhsa_kernel user_sgpr_private_segment_size
1411103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
1421103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
1431103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
144*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
1451103a2a3SJanek van Oirschot  .amdhsa_user_sgpr_private_segment_size defined_boolean
1461103a2a3SJanek van Oirschot.end_amdhsa_kernel
1471103a2a3SJanek van Oirschot
1481103a2a3SJanek van Oirschot.p2align 8
1491103a2a3SJanek van Oirschot.type wavefront_size32,@function
1501103a2a3SJanek van Oirschotwavefront_size32:
1511103a2a3SJanek van Oirschot  s_endpgm
1521103a2a3SJanek van Oirschot
1531103a2a3SJanek van Oirschot.p2align 6
1541103a2a3SJanek van Oirschot.amdhsa_kernel wavefront_size32
1551103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
1561103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
1571103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
158*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
1591103a2a3SJanek van Oirschot  .amdhsa_wavefront_size32 defined_boolean
1601103a2a3SJanek van Oirschot.end_amdhsa_kernel
1611103a2a3SJanek van Oirschot
1621103a2a3SJanek van Oirschot.p2align 8
1631103a2a3SJanek van Oirschot.type shared_vgpr_count,@function
1641103a2a3SJanek van Oirschotshared_vgpr_count:
1651103a2a3SJanek van Oirschot  s_endpgm
1661103a2a3SJanek van Oirschot
1671103a2a3SJanek van Oirschot.p2align 6
1681103a2a3SJanek van Oirschot.amdhsa_kernel shared_vgpr_count
1691103a2a3SJanek van Oirschot  .amdhsa_next_free_vgpr 0
1701103a2a3SJanek van Oirschot  .amdhsa_next_free_sgpr 0
1711103a2a3SJanek van Oirschot  .amdhsa_accum_offset 4
172*fc19d623Spvanhout// ASM: :[[@LINE+1]]:{{[0-9]+}}: error: directive should have resolvable expression
1731103a2a3SJanek van Oirschot  .amdhsa_shared_vgpr_count defined_boolean
1741103a2a3SJanek van Oirschot.end_amdhsa_kernel
1751103a2a3SJanek van Oirschot
1761103a2a3SJanek van Oirschot.set defined_boolean, 1
177