xref: /llvm-project/llvm/test/tools/llvm-readobj/ELF/note-amd-valid-v3.s (revision ab930ee7cad8b8bf7968bb8d0c0d72524e2313c4)
1## This test is checking the handling of valid note entries for AMDGPU code
2## object v3.
3
4# REQUIRES: amdgpu-registered-target
5
6# RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj < %s | llvm-readobj --notes - | FileCheck %s --match-full-lines --check-prefix=LLVM
7# RUN: llvm-mc -triple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj < %s | llvm-readelf --notes - | FileCheck %s --match-full-lines --check-prefix=GNU
8
9#LLVM:       NoteSections [
10#LLVM-NEXT:    NoteSection {
11#LLVM-NEXT:      Name: .note
12#LLVM-NEXT:      Offset: 0x40
13#LLVM-NEXT:      Size: 0x110
14#LLVM-NEXT:      Notes [
15#LLVM-NEXT:      {
16#LLVM-NEXT:        Owner: AMDGPU
17#LLVM-NEXT:        Data size: 0xFC
18#LLVM-NEXT:        Type: NT_AMDGPU_METADATA (AMDGPU Metadata)
19#LLVM-NEXT:        AMDGPU Metadata: ---
20#LLVM-NEXT:  amdhsa.kernels:
21#LLVM-NEXT:    - .group_segment_fixed_size: 16
22#LLVM-NEXT:      .kernarg_segment_align: 64
23#LLVM-NEXT:      .kernarg_segment_size: 8
24#LLVM-NEXT:      .max_flat_workgroup_size: 256
25#LLVM-NEXT:      .name:           test_kernel
26#LLVM-NEXT:      .private_segment_fixed_size: 32
27#LLVM-NEXT:      .sgpr_count:     14
28#LLVM-NEXT:      .symbol:         'test_kernel@kd'
29#LLVM-NEXT:      .vgpr_count:     40
30#LLVM-NEXT:      .wavefront_size: 128
31#LLVM-NEXT:  amdhsa.version:
32#LLVM-NEXT:    - 1
33#LLVM-NEXT:    - 0
34#LLVM-NEXT:  ...
35#LLVM-EMPTY:
36#LLVM-NEXT:      }
37#LLVM-NEXT:     ]
38#LLVM-NEXT:    }
39#LLVM-NEXT:  ]
40
41# GNU:      Displaying notes found in: .note
42# GNU-NEXT:   Owner                Data size        Description
43# GNU-NEXT:   AMDGPU               0x000000fc       NT_AMDGPU_METADATA (AMDGPU Metadata)
44# GNU-NEXT:     AMDGPU Metadata:
45# GNU-NEXT:         ---
46# GNU-NEXT: amdhsa.kernels:
47# GNU-NEXT:   - .group_segment_fixed_size: 16
48# GNU-NEXT:     .kernarg_segment_align: 64
49# GNU-NEXT:     .kernarg_segment_size: 8
50# GNU-NEXT:     .max_flat_workgroup_size: 256
51# GNU-NEXT:     .name:           test_kernel
52# GNU-NEXT:     .private_segment_fixed_size: 32
53# GNU-NEXT:     .sgpr_count:     14
54# GNU-NEXT:     .symbol:         'test_kernel@kd'
55# GNU-NEXT:     .vgpr_count:     40
56# GNU-NEXT:     .wavefront_size: 128
57# GNU-NEXT: amdhsa.version:
58# GNU-NEXT:   - 1
59# GNU-NEXT:   - 0
60# GNU-NEXT: ...
61
62.amdgpu_metadata
63  amdhsa.version:
64    - 1
65    - 0
66  amdhsa.kernels:
67    - .name:                       test_kernel
68      .symbol:                     test_kernel@kd
69      .group_segment_fixed_size:   16
70      .kernarg_segment_align:      64
71      .kernarg_segment_size:       8
72      .max_flat_workgroup_size:    256
73      .private_segment_fixed_size: 32
74      .sgpr_count:                 14
75      .vgpr_count:                 40
76      .wavefront_size:             128
77.end_amdgpu_metadata
78