Index: llvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test =================================================================== --- /dev/null +++ llvm/test/tools/llvm-readobj/ELF/amdgpu-elf-headers.test @@ -0,0 +1,106 @@ +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX600 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX600 -DFLAGS=0x20 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX601 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX601 -DFLAGS=0x21 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX700 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX700 -DFLAGS=0x22 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX701 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX701 -DFLAGS=0x23 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX702 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX702 -DFLAGS=0x24 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX703 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX703 -DFLAGS=0x25 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX704 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX704 -DFLAGS=0x26 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX801 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX801 -DFLAGS=0x28 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX802 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX802 -DFLAGS=0x29 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX803 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX803 -DFLAGS=0x2A --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX810 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX810 -DFLAGS=0x2B --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX900 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX900 -DFLAGS=0x2C --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX902 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX902 -DFLAGS=0x2D --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX904 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX904 -DFLAGS=0x2E --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX906 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX906 -DFLAGS=0x2F --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX908 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX908 -DFLAGS=0x30 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX909 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX909 -DFLAGS=0x31 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX1010 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX1010 -DFLAGS=0x33 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX1011 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX1011 -DFLAGS=0x34 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX1012 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX1012 -DFLAGS=0x35 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX1030 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX1030 -DFLAGS=0x36 --check-prefix=GCN + +# RUN: yaml2obj %s --docnum=1 -o %t -DCPU=GFX1031 +# RUN: llvm-readobj -h %t | FileCheck %s --match-full-lines -DFILE=%t -DCPU=GFX1031 -DFLAGS=0x37 --check-prefix=GCN + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + OSABI: ELFOSABI_AMDGPU_HSA + Type: ET_REL + Machine: EM_AMDGPU + Flags: [ EF_AMDGPU_MACH_AMDGCN_[[CPU]] ] + +# GCN: File: [[FILE]] +# GCN-NEXT: Format: elf64-amdgpu +# GCN-NEXT: Arch: amdgcn +# GCN-NEXT: AddressSize: 64bit +# GCN-NEXT: LoadName: +# GCN-NEXT: ElfHeader { +# GCN-NEXT: Ident { +# GCN-NEXT: Magic: (7F 45 4C 46) +# GCN-NEXT: Class: 64-bit (0x2) +# GCN-NEXT: DataEncoding: LittleEndian (0x1) +# GCN-NEXT: FileVersion: 1 +# GCN-NEXT: OS/ABI: AMDGPU_HSA (0x40) +# GCN-NEXT: ABIVersion: 0 +# GCN-NEXT: Unused: (00 00 00 00 00 00 00) +# GCN-NEXT: } +# GCN-NEXT: Type: Relocatable (0x1) +# GCN-NEXT: Machine: EM_AMDGPU (0xE0) +# GCN-NEXT: Version: 1 +# GCN-NEXT: Entry: 0x0 +# GCN-NEXT: ProgramHeaderOffset: 0x0 +# GCN-NEXT: SectionHeaderOffset: 0x58 +# GCN-NEXT: Flags [ ([[FLAGS]]) +# GCN-NEXT: EF_AMDGPU_MACH_AMDGCN_[[CPU]] ([[FLAGS]]) +# GCN-NEXT: ] +# GCN-NEXT: HeaderSize: 64 +# GCN-NEXT: ProgramHeaderEntrySize: 0 +# GCN-NEXT: ProgramHeaderCount: 0 +# GCN-NEXT: SectionHeaderEntrySize: 64 +# GCN-NEXT: SectionHeaderCount: 3 +# GCN-NEXT: StringTableSectionIndex: 2 +# GCN-NEXT: }