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:       Notes [
10#LLVM-NEXT:    NoteSection {
11#LLVM-NEXT:      Name: .note
12#LLVM-NEXT:      Offset: 0x40
13#LLVM-NEXT:      Size: 0x110
14#LLVM-NEXT:      Note {
15#LLVM-NEXT:        Owner: AMDGPU
16#LLVM-NEXT:        Data size: 0xFC
17#LLVM-NEXT:        Type: NT_AMDGPU_METADATA (AMDGPU Metadata)
18#LLVM-NEXT:        AMDGPU Metadata: ---
19#LLVM-NEXT:  amdhsa.kernels:
20#LLVM-NEXT:    - .group_segment_fixed_size: 16
21#LLVM-NEXT:      .kernarg_segment_align: 64
22#LLVM-NEXT:      .kernarg_segment_size: 8
23#LLVM-NEXT:      .max_flat_workgroup_size: 256
24#LLVM-NEXT:      .name:           test_kernel
25#LLVM-NEXT:      .private_segment_fixed_size: 32
26#LLVM-NEXT:      .sgpr_count:     14
27#LLVM-NEXT:      .symbol:         'test_kernel@kd'
28#LLVM-NEXT:      .vgpr_count:     40
29#LLVM-NEXT:      .wavefront_size: 128
30#LLVM-NEXT:  amdhsa.version:
31#LLVM-NEXT:    - 1
32#LLVM-NEXT:    - 0
33#LLVM-NEXT:  ...
34#LLVM-EMPTY:
35#LLVM-NEXT:      }
36#LLVM-NEXT:    }
37#LLVM-NEXT:  ]
38
39# GNU:      Displaying notes found in: .note
40# GNU-NEXT:   Owner                Data size        Description
41# GNU-NEXT:   AMDGPU               0x000000fc       NT_AMDGPU_METADATA (AMDGPU Metadata)
42# GNU-NEXT:     AMDGPU Metadata:
43# GNU-NEXT:         ---
44# GNU-NEXT: amdhsa.kernels:
45# GNU-NEXT:   - .group_segment_fixed_size: 16
46# GNU-NEXT:     .kernarg_segment_align: 64
47# GNU-NEXT:     .kernarg_segment_size: 8
48# GNU-NEXT:     .max_flat_workgroup_size: 256
49# GNU-NEXT:     .name:           test_kernel
50# GNU-NEXT:     .private_segment_fixed_size: 32
51# GNU-NEXT:     .sgpr_count:     14
52# GNU-NEXT:     .symbol:         'test_kernel@kd'
53# GNU-NEXT:     .vgpr_count:     40
54# GNU-NEXT:     .wavefront_size: 128
55# GNU-NEXT: amdhsa.version:
56# GNU-NEXT:   - 1
57# GNU-NEXT:   - 0
58# GNU-NEXT: ...
59
60.amdgpu_metadata
61  amdhsa.version:
62    - 1
63    - 0
64  amdhsa.kernels:
65    - .name:                       test_kernel
66      .symbol:                     test_kernel@kd
67      .group_segment_fixed_size:   16
68      .kernarg_segment_align:      64
69      .kernarg_segment_size:       8
70      .max_flat_workgroup_size:    256
71      .private_segment_fixed_size: 32
72      .sgpr_count:                 14
73      .vgpr_count:                 40
74      .wavefront_size:             128
75.end_amdgpu_metadata
76