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