xref: /llvm-project/llvm/test/MC/Disassembler/AMDGPU/kernel-descriptor-errors.test (revision 68e814d9114b6c8910642298714dad6fa79ccad2)
1# RUN: yaml2obj %s -DGPU=GFX1100 -DKD=0000000000000000000000001000000000000000000000001000000000000000000000000000000000000000000000000300AC60800000000004000000000000 \
2# RUN:   | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=RES_4
3# RES_4: ; error decoding test.kd: kernel descriptor reserved bits in range (127:96) set
4# RES_4-NEXT: ; decoding failed region as bytes
5
6# RUN: yaml2obj %s -DGPU=GFX1100 -DKD=0000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000300AC60800000000004000000000000 \
7# RUN:   | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=RES_20
8# RES_20: ; error decoding test.kd: kernel descriptor reserved bits in range (351:192) set
9# RES_20-NEXT: ; decoding failed region as bytes
10
11# RUN: yaml2obj %s -DGPU=GFX1100 -DKD=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300AC60800000000004000000000001 \
12# RUN:   | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=RES_4_2
13# RES_4_2: ; error decoding test.kd: kernel descriptor reserved bits in range (511:480) set
14# RES_4_2-NEXT: ; decoding failed region as bytes
15
16# RUN: yaml2obj %s -DGPU=GFX90A -DKD=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000 \
17# RUN:   | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=RES_457
18# RES_457: ; error decoding test.kd: kernel descriptor reserved bits in range (457:455) set
19# RES_457-NEXT: ; decoding failed region as bytes
20
21# RUN: yaml2obj %s -DGPU=GFX90A -DKD=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000 \
22# RUN:   | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=WF32
23# WF32: ; error decoding test.kd: kernel descriptor reserved bit (458) set, must be zero on gfx9
24# WF32-NEXT: ; decoding failed region as bytes
25
26# RUN: yaml2obj %s -DGPU=GFX1100 -DKD=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300AC60800000000024000000000000 \
27# RUN:   | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=RES_463
28# RES_463: ; error decoding test.kd: kernel descriptor reserved bits in range (463:460) set
29# RES_463-NEXT: ; decoding failed region as bytes
30
31--- !ELF
32FileHeader:
33  Class:           ELFCLASS64
34  Data:            ELFDATA2LSB
35  OSABI:           ELFOSABI_AMDGPU_HSA
36  ABIVersion:      0x3
37  Type:            ET_REL
38  Machine:         EM_AMDGPU
39  Flags:           [ EF_AMDGPU_MACH_AMDGCN_[[GPU]], EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4, EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4 ]
40  SectionHeaderStringTable: .strtab
41Sections:
42  - Name:            .text
43    Type:            SHT_PROGBITS
44    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
45    AddressAlign:    0x4
46    Content:         [[KD]]
47  - Name:            .rela.text
48    Type:            SHT_RELA
49    Flags:           [ SHF_INFO_LINK ]
50    Link:            .symtab
51    AddressAlign:    0x8
52    Info:            .text
53    Relocations:
54      - Offset:          0x10
55        Symbol:          test
56        Type:            R_AMDGPU_REL64
57        Addend:          16
58  - Type:            SectionHeaderTable
59    Sections:
60      - Name:            .strtab
61      - Name:            .text
62      - Name:            .rela.text
63      - Name:            .symtab
64Symbols:
65  - Name:            test.kd
66    Type:            STT_OBJECT
67    Section:         .text
68    Binding:         STB_GLOBAL
69    Size:            0x40
70  - Name:            test
71    Binding:         STB_GLOBAL
72    Other:           [ STV_PROTECTED ]
73...
74