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