blob: 92aa54f91d89782586bc3fec66bafdf47c8add0d [file] [edit]
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -filetype=obj < %s | llvm-readelf -n - | FileCheck --check-prefix=NOTE-AMDGPU %s
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -filetype=obj < %s | llvm-readelf -x .note - | FileCheck --check-prefix=HEX-AMDGPU %s
; RUN: llc -mtriple=amdgcn-amd-unknown -mcpu=gfx90a -filetype=obj < %s | llvm-readelf -n - | FileCheck --check-prefix=NOTE-AMD %s
; RUN: llc -mtriple=amdgcn-amd-unknown -mcpu=gfx90a -filetype=obj < %s | llvm-readelf -x .note - | FileCheck --check-prefix=HEX-AMD %s
; Verify ELF notes have explicit null terminators after the name field.
; Tests both "AMDGPU" (NoteNameV3, 7 bytes with null) and "AMD" (NoteNameV2, 4 bytes with null).
; Check "AMDGPU" note is parseable (used in amdhsa triple)
; NOTE-AMDGPU-NOT: Unknown note type
; NOTE-AMDGPU: AMDGPU
; NOTE-AMDGPU: NT_AMDGPU_METADATA
; Check hex shows explicit null: "AMDGPU" (6 bytes) + null = namesz of 7
; HEX-AMDGPU: Hex dump of section '.note':
; HEX-AMDGPU-NEXT: 0x00000000 07000000 {{[0-9a-f]+}} {{[0-9a-f]+}} 414d4447
; HEX-AMDGPU-NEXT: 0x00000010 5055{{00}}
; Check "AMD" note is parseable (used in unknown triple)
; NOTE-AMD-NOT: Unknown note type
; NOTE-AMD: AMD
; NOTE-AMD: NT_AMD_HSA_ISA_NAME
; Check hex shows explicit null: "AMD" (3 bytes) + null = namesz of 4
; HEX-AMD: Hex dump of section '.note':
; HEX-AMD: 04000000 {{[0-9a-f]+}} {{[0-9a-f]+}} 414d44{{00}}
define amdgpu_kernel void @test_note() {
ret void
}
!llvm.module.flags = !{!0}
!0 = !{i32 1, !"amdhsa_code_object_version", i32 400}