Home | History | Annotate | Download | only in AMDGPU
      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