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
15K1:
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
32K2:
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
43K3:
44A = .kernel.vgpr_count
45    v_mov_b32_e32 v[A], s0
46B = .kernel.vgpr_count
47    v_mov_b32_e32 v[B], s0
48    v_mov_b32_e32 v[B], v[A]
49C = .kernel.vgpr_count
50    v_mov_b32_e32 v[C], v[A]
51D = .kernel.sgpr_count + 3 // align
52E = 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