1 // RUN: llvm-mc -arch=amdgcn %s 2>&1 | FileCheck %s 2 3 .byte .kernel.sgpr_count 4 // CHECK: .byte 0 5 .byte .kernel.vgpr_count 6 // CHECK: .byte 0 7 v_mov_b32_e32 v5, s8 8 s_endpgm 9 .byte .kernel.sgpr_count 10 // CHECK: .byte 9 11 .byte .kernel.vgpr_count 12 // CHECK: .byte 6 13 14 .amdgpu_hsa_kernel K1 15 K1: 16 .byte .kernel.sgpr_count 17 // CHECK: .byte 0 18 .byte .kernel.vgpr_count 19 // CHECK: .byte 0 20 v_mov_b32_e32 v1, s86 21 s_endpgm 22 .byte .kernel.sgpr_count 23 // CHECK: .byte 87 24 .byte .kernel.vgpr_count 25 // CHECK: .byte 2 26 27 .amdgpu_hsa_kernel K2 28 .byte .kernel.sgpr_count 29 // CHECK: .byte 0 30 .byte .kernel.vgpr_count 31 // CHECK: .byte 0 32 K2: 33 s_load_dwordx8 s[16:23], s[0:1], 0x0 34 v_mov_b32_e32 v0, v0 35 s_endpgm 36 .byte .kernel.sgpr_count 37 // CHECK: .byte 24 38 .byte .kernel.vgpr_count 39 // CHECK: .byte 1 40 41 .text 42 .amdgpu_hsa_kernel K3 43 K3: 44 A = .kernel.vgpr_count 45 v_mov_b32_e32 v[A], s0 46 B = .kernel.vgpr_count 47 v_mov_b32_e32 v[B], s0 48 v_mov_b32_e32 v[B], v[A] 49 C = .kernel.vgpr_count 50 v_mov_b32_e32 v[C], v[A] 51 D = .kernel.sgpr_count + 3 // align 52 E = D + 4 53 s_load_dwordx4 s[D:D+3], s[E:E+1], 0x0 54 s_endpgm 55 56 .byte .kernel.sgpr_count 57 // CHECK: .byte 10 58 .byte .kernel.vgpr_count 59 // CHECK: .byte 3 60