1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 12:43:36 +01:00
llvm-mirror/test/Object/AMDGPU/elf-header-flags-mach.yaml
Konstantin Zhuravlyov 65fd4d6316 AMDGPU: Bring elf flags in sync with the spec
- Add MACH flags
- Add XNACK flag
- Add reserved flags
- Minor cleanups in docs

Differential Revision: https://reviews.llvm.org/D43356

llvm-svn: 325399
2018-02-16 22:33:59 +00:00

469 lines
14 KiB
YAML

# RUN: yaml2obj -docnum=1 %s > %t.o.1
# RUN: llvm-readobj -s -file-headers %t.o.1 | FileCheck --check-prefixes=ELF-ALL,ELF-R600 %s
# RUN: obj2yaml %t.o.1 | FileCheck --check-prefixes=YAML-R600 %s
# RUN: yaml2obj -docnum=2 %s > %t.o.2
# RUN: llvm-readobj -s -file-headers %t.o.2 | FileCheck --check-prefixes=ELF-ALL,ELF-R630 %s
# RUN: obj2yaml %t.o.2 | FileCheck --check-prefixes=YAML-R630 %s
# RUN: yaml2obj -docnum=3 %s > %t.o.3
# RUN: llvm-readobj -s -file-headers %t.o.3 | FileCheck --check-prefixes=ELF-ALL,ELF-RS880 %s
# RUN: obj2yaml %t.o.3 | FileCheck --check-prefixes=YAML-RS880 %s
# RUN: yaml2obj -docnum=4 %s > %t.o.4
# RUN: llvm-readobj -s -file-headers %t.o.4 | FileCheck --check-prefixes=ELF-ALL,ELF-RV670 %s
# RUN: obj2yaml %t.o.4 | FileCheck --check-prefixes=YAML-RV670 %s
# RUN: yaml2obj -docnum=5 %s > %t.o.5
# RUN: llvm-readobj -s -file-headers %t.o.5 | FileCheck --check-prefixes=ELF-ALL,ELF-RV710 %s
# RUN: obj2yaml %t.o.5 | FileCheck --check-prefixes=YAML-RV710 %s
# RUN: yaml2obj -docnum=6 %s > %t.o.6
# RUN: llvm-readobj -s -file-headers %t.o.6 | FileCheck --check-prefixes=ELF-ALL,ELF-RV730 %s
# RUN: obj2yaml %t.o.6 | FileCheck --check-prefixes=YAML-RV730 %s
# RUN: yaml2obj -docnum=7 %s > %t.o.7
# RUN: llvm-readobj -s -file-headers %t.o.7 | FileCheck --check-prefixes=ELF-ALL,ELF-RV770 %s
# RUN: obj2yaml %t.o.7 | FileCheck --check-prefixes=YAML-RV770 %s
# RUN: yaml2obj -docnum=8 %s > %t.o.8
# RUN: llvm-readobj -s -file-headers %t.o.8 | FileCheck --check-prefixes=ELF-ALL,ELF-CEDAR %s
# RUN: obj2yaml %t.o.8 | FileCheck --check-prefixes=YAML-CEDAR %s
# RUN: yaml2obj -docnum=9 %s > %t.o.9
# RUN: llvm-readobj -s -file-headers %t.o.9 | FileCheck --check-prefixes=ELF-ALL,ELF-CYPRESS %s
# RUN: obj2yaml %t.o.9 | FileCheck --check-prefixes=YAML-CYPRESS %s
# RUN: yaml2obj -docnum=10 %s > %t.o.10
# RUN: llvm-readobj -s -file-headers %t.o.10 | FileCheck --check-prefixes=ELF-ALL,ELF-JUNIPER %s
# RUN: obj2yaml %t.o.10 | FileCheck --check-prefixes=YAML-JUNIPER %s
# RUN: yaml2obj -docnum=11 %s > %t.o.11
# RUN: llvm-readobj -s -file-headers %t.o.11 | FileCheck --check-prefixes=ELF-ALL,ELF-REDWOOD %s
# RUN: obj2yaml %t.o.11 | FileCheck --check-prefixes=YAML-REDWOOD %s
# RUN: yaml2obj -docnum=12 %s > %t.o.12
# RUN: llvm-readobj -s -file-headers %t.o.12 | FileCheck --check-prefixes=ELF-ALL,ELF-SUMO %s
# RUN: obj2yaml %t.o.12 | FileCheck --check-prefixes=YAML-SUMO %s
# RUN: yaml2obj -docnum=13 %s > %t.o.13
# RUN: llvm-readobj -s -file-headers %t.o.13 | FileCheck --check-prefixes=ELF-ALL,ELF-BARTS %s
# RUN: obj2yaml %t.o.13 | FileCheck --check-prefixes=YAML-BARTS %s
# RUN: yaml2obj -docnum=14 %s > %t.o.14
# RUN: llvm-readobj -s -file-headers %t.o.14 | FileCheck --check-prefixes=ELF-ALL,ELF-CAICOS %s
# RUN: obj2yaml %t.o.14 | FileCheck --check-prefixes=YAML-CAICOS %s
# RUN: yaml2obj -docnum=15 %s > %t.o.15
# RUN: llvm-readobj -s -file-headers %t.o.15 | FileCheck --check-prefixes=ELF-ALL,ELF-CAYMAN %s
# RUN: obj2yaml %t.o.15 | FileCheck --check-prefixes=YAML-CAYMAN %s
# RUN: yaml2obj -docnum=16 %s > %t.o.16
# RUN: llvm-readobj -s -file-headers %t.o.16 | FileCheck --check-prefixes=ELF-ALL,ELF-TURKS %s
# RUN: obj2yaml %t.o.16 | FileCheck --check-prefixes=YAML-TURKS %s
# RUN: yaml2obj -docnum=17 %s > %t.o.17
# RUN: llvm-readobj -s -file-headers %t.o.17 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX600 %s
# RUN: obj2yaml %t.o.17 | FileCheck --check-prefixes=YAML-GFX600 %s
# RUN: yaml2obj -docnum=18 %s > %t.o.18
# RUN: llvm-readobj -s -file-headers %t.o.18 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX601 %s
# RUN: obj2yaml %t.o.18 | FileCheck --check-prefixes=YAML-GFX601 %s
# RUN: yaml2obj -docnum=19 %s > %t.o.19
# RUN: llvm-readobj -s -file-headers %t.o.19 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX700 %s
# RUN: obj2yaml %t.o.19 | FileCheck --check-prefixes=YAML-GFX700 %s
# RUN: yaml2obj -docnum=20 %s > %t.o.20
# RUN: llvm-readobj -s -file-headers %t.o.20 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX701 %s
# RUN: obj2yaml %t.o.20 | FileCheck --check-prefixes=YAML-GFX701 %s
# RUN: yaml2obj -docnum=21 %s > %t.o.21
# RUN: llvm-readobj -s -file-headers %t.o.21 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX702 %s
# RUN: obj2yaml %t.o.21 | FileCheck --check-prefixes=YAML-GFX702 %s
# RUN: yaml2obj -docnum=22 %s > %t.o.22
# RUN: llvm-readobj -s -file-headers %t.o.22 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX703 %s
# RUN: obj2yaml %t.o.22 | FileCheck --check-prefixes=YAML-GFX703 %s
# RUN: yaml2obj -docnum=23 %s > %t.o.23
# RUN: llvm-readobj -s -file-headers %t.o.23 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX704 %s
# RUN: obj2yaml %t.o.23 | FileCheck --check-prefixes=YAML-GFX704 %s
# RUN: yaml2obj -docnum=24 %s > %t.o.24
# RUN: llvm-readobj -s -file-headers %t.o.24 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX801 %s
# RUN: obj2yaml %t.o.24 | FileCheck --check-prefixes=YAML-GFX801 %s
# RUN: yaml2obj -docnum=25 %s > %t.o.25
# RUN: llvm-readobj -s -file-headers %t.o.25 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX802 %s
# RUN: obj2yaml %t.o.25 | FileCheck --check-prefixes=YAML-GFX802 %s
# RUN: yaml2obj -docnum=26 %s > %t.o.26
# RUN: llvm-readobj -s -file-headers %t.o.26 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX803 %s
# RUN: obj2yaml %t.o.26 | FileCheck --check-prefixes=YAML-GFX803 %s
# RUN: yaml2obj -docnum=27 %s > %t.o.27
# RUN: llvm-readobj -s -file-headers %t.o.27 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX810 %s
# RUN: obj2yaml %t.o.27 | FileCheck --check-prefixes=YAML-GFX810 %s
# RUN: yaml2obj -docnum=28 %s > %t.o.28
# RUN: llvm-readobj -s -file-headers %t.o.28 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX900 %s
# RUN: obj2yaml %t.o.28 | FileCheck --check-prefixes=YAML-GFX900 %s
# RUN: yaml2obj -docnum=29 %s > %t.o.29
# RUN: llvm-readobj -s -file-headers %t.o.29 | FileCheck --check-prefixes=ELF-ALL,ELF-GFX902 %s
# RUN: obj2yaml %t.o.29 | FileCheck --check-prefixes=YAML-GFX902 %s
# ELF-ALL: Flags [
# ELF-R600: EF_AMDGPU_MACH_R600_R600 (0x1)
# ELF-R630: EF_AMDGPU_MACH_R600_R630 (0x2)
# ELF-RS880: EF_AMDGPU_MACH_R600_RS880 (0x3)
# ELF-RV670: EF_AMDGPU_MACH_R600_RV670 (0x4)
# ELF-RV710: EF_AMDGPU_MACH_R600_RV710 (0x5)
# ELF-RV730: EF_AMDGPU_MACH_R600_RV730 (0x6)
# ELF-RV770: EF_AMDGPU_MACH_R600_RV770 (0x7)
# ELF-CEDAR: EF_AMDGPU_MACH_R600_CEDAR (0x8)
# ELF-CYPRESS: EF_AMDGPU_MACH_R600_CYPRESS (0x9)
# ELF-JUNIPER: EF_AMDGPU_MACH_R600_JUNIPER (0xA)
# ELF-REDWOOD: EF_AMDGPU_MACH_R600_REDWOOD (0xB)
# ELF-SUMO: EF_AMDGPU_MACH_R600_SUMO (0xC)
# ELF-BARTS: EF_AMDGPU_MACH_R600_BARTS (0xD)
# ELF-CAICOS: EF_AMDGPU_MACH_R600_CAICOS (0xE)
# ELF-CAYMAN: EF_AMDGPU_MACH_R600_CAYMAN (0xF)
# ELF-TURKS: EF_AMDGPU_MACH_R600_TURKS (0x10)
# ELF-GFX600: EF_AMDGPU_MACH_AMDGCN_GFX600 (0x20)
# ELF-GFX601: EF_AMDGPU_MACH_AMDGCN_GFX601 (0x21)
# ELF-GFX700: EF_AMDGPU_MACH_AMDGCN_GFX700 (0x22)
# ELF-GFX701: EF_AMDGPU_MACH_AMDGCN_GFX701 (0x23)
# ELF-GFX702: EF_AMDGPU_MACH_AMDGCN_GFX702 (0x24)
# ELF-GFX703: EF_AMDGPU_MACH_AMDGCN_GFX703 (0x25)
# ELF-GFX704: EF_AMDGPU_MACH_AMDGCN_GFX704 (0x26)
# ELF-GFX801: EF_AMDGPU_MACH_AMDGCN_GFX801 (0x28)
# ELF-GFX802: EF_AMDGPU_MACH_AMDGCN_GFX802 (0x29)
# ELF-GFX803: EF_AMDGPU_MACH_AMDGCN_GFX803 (0x2A)
# ELF-GFX810: EF_AMDGPU_MACH_AMDGCN_GFX810 (0x2B)
# ELF-GFX900: EF_AMDGPU_MACH_AMDGCN_GFX900 (0x2C)
# ELF-GFX902: EF_AMDGPU_MACH_AMDGCN_GFX902 (0x2D)
# ELF-ALL: ]
# YAML-R600: Flags: [ EF_AMDGPU_MACH_R600_R600 ]
# YAML-R630: Flags: [ EF_AMDGPU_MACH_R600_R630 ]
# YAML-RS880: Flags: [ EF_AMDGPU_MACH_R600_RS880 ]
# YAML-RV670: Flags: [ EF_AMDGPU_MACH_R600_RV670 ]
# YAML-RV710: Flags: [ EF_AMDGPU_MACH_R600_RV710 ]
# YAML-RV730: Flags: [ EF_AMDGPU_MACH_R600_RV730 ]
# YAML-RV770: Flags: [ EF_AMDGPU_MACH_R600_RV770 ]
# YAML-CEDAR: Flags: [ EF_AMDGPU_MACH_R600_CEDAR ]
# YAML-CYPRESS: Flags: [ EF_AMDGPU_MACH_R600_CYPRESS ]
# YAML-JUNIPER: Flags: [ EF_AMDGPU_MACH_R600_JUNIPER ]
# YAML-REDWOOD: Flags: [ EF_AMDGPU_MACH_R600_REDWOOD ]
# YAML-SUMO: Flags: [ EF_AMDGPU_MACH_R600_SUMO ]
# YAML-BARTS: Flags: [ EF_AMDGPU_MACH_R600_BARTS ]
# YAML-CAICOS: Flags: [ EF_AMDGPU_MACH_R600_CAICOS ]
# YAML-CAYMAN: Flags: [ EF_AMDGPU_MACH_R600_CAYMAN ]
# YAML-TURKS: Flags: [ EF_AMDGPU_MACH_R600_TURKS ]
# YAML-GFX600: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX600 ]
# YAML-GFX601: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX601 ]
# YAML-GFX700: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX700 ]
# YAML-GFX701: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX701 ]
# YAML-GFX702: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX702 ]
# YAML-GFX703: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX703 ]
# YAML-GFX704: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX704 ]
# YAML-GFX801: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX801 ]
# YAML-GFX802: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX802 ]
# YAML-GFX803: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX803 ]
# YAML-GFX810: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX810 ]
# YAML-GFX900: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX900 ]
# YAML-GFX902: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX902 ]
# Doc1
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_R600 ]
...
# Doc2
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_R630 ]
...
# Doc3
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_RS880 ]
...
# Doc4
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_RV670 ]
...
# Doc5
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_RV710 ]
...
# Doc6
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_RV730 ]
...
# Doc7
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_RV770 ]
...
# Doc8
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_CEDAR ]
...
# Doc9
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_CYPRESS ]
...
# Doc10
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_JUNIPER ]
...
# Doc11
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_REDWOOD ]
...
# Doc12
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_SUMO ]
...
# Doc13
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_BARTS ]
...
# Doc14
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_CAICOS ]
...
# Doc15
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_CAYMAN ]
...
# Doc16
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_R600_TURKS ]
...
# Doc17
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX600 ]
...
# Doc18
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX601 ]
...
# Doc19
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX700 ]
...
# Doc20
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX701 ]
...
# Doc21
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX702 ]
...
# Doc22
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX703 ]
...
# Doc23
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX704 ]
...
# Doc24
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX801 ]
...
# Doc25
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX802 ]
...
# Doc26
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX803 ]
...
# Doc27
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX810 ]
...
# Doc28
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX900 ]
...
# Doc29
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
OSABI: ELFOSABI_NONE
Type: ET_REL
Machine: EM_AMDGPU
Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX902 ]
...