1# RUN: yaml2obj %s -DGPU=GFX1200 -DSRC1=0300AC60 -DSRC2=80000000 -DSRC3=00000000 \ 2# RUN: | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=VALID 3# VALID: .amdhsa_kernel test 4 5# RUN: yaml2obj %s -DGPU=GFX1200 -DSRC1=4300AC60 -DSRC2=80000000 -DSRC3=00000000 \ 6# RUN: | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=SRC1_9_6 7# SRC1_9_6: ; error decoding test.kd: kernel descriptor COMPUTE_PGM_RSRC1_GRANULATED_WAVEFRONT_SGPR_COUNT reserved bits in range (9:6) set, must be zero on gfx10+ 8# SRC1_9_6-NEXT: ; decoding failed region as bytes 9 10# RUN: yaml2obj %s -DGPU=GFX1200 -DSRC1=0308AC60 -DSRC2=80000000 -DSRC3=00000000 \ 11# RUN: | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=SRC1_PRIORITY 12# SRC1_PRIORITY: ; error decoding test.kd: kernel descriptor COMPUTE_PGM_RSRC1_PRIORITY reserved bits in range (11:10) set 13# SRC1_PRIORITY-NEXT: ; decoding failed region as bytes 14 15# RUN: yaml2obj %s -DGPU=GFX1200 -DSRC1=0300BC60 -DSRC2=80000000 -DSRC3=00000000 \ 16# RUN: | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=SRC1_PRIV 17# SRC1_PRIV: ; error decoding test.kd: kernel descriptor COMPUTE_PGM_RSRC1_PRIV reserved bit (20) set 18# SRC1_PRIV-NEXT: ; decoding failed region as bytes 19 20# RUN: yaml2obj %s -DGPU=GFX801 -DSRC1=0300AC64 -DSRC2=80000000 -DSRC3=00000000 \ 21# RUN: | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=SRC1_6_8 22# SRC1_6_8: ; error decoding test.kd: kernel descriptor COMPUTE_PGM_RSRC1 reserved bit (26) set, must be zero pre-gfx9 23# SRC1_6_8-NEXT: ; decoding failed region as bytes 24 25# RUN: yaml2obj %s -DGPU=GFX1200 -DSRC1=0300AC60 -DSRC2=80200000 -DSRC3=00000000 \ 26# RUN: | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=RSRC2 27# RSRC2: ; error decoding test.kd: kernel descriptor COMPUTE_PGM_RSRC2_ENABLE_EXCEPTION_ADDRESS_WATCH reserved bit (13) set 28# RSRC2-NEXT: ; decoding failed region as bytes 29 30# RUN: yaml2obj %s -DGPU=GFX90A -DSRC1=0300AC60 -DSRC2=80000000 -DSRC3=40000000 \ 31# RUN: | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=RSRC3_90A 32# RSRC3_90A: ; error decoding test.kd: kernel descriptor COMPUTE_PGM_RSRC3 reserved bits in range (15:6) set, must be zero on gfx90a 33# RSRC3_90A-NEXT: ; decoding failed region as bytes 34 35# RUN: yaml2obj %s -DGPU=GFX1200 -DSRC1=0300AC60 -DSRC2=80000000 -DSRC3=01000000 \ 36# RUN: | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=RSRC3_RES 37# RSRC3_RES: ; error decoding test.kd: kernel descriptor COMPUTE_PGM_RSRC3 reserved bits in range (3:0) set, must be zero on gfx12+ 38# RSRC3_RES-NEXT: ; decoding failed region as bytes 39 40# RUN: yaml2obj %s -DGPU=GFX1100 -DSRC1=0300AC60 -DSRC2=80000000 -DSRC3=00000100 \ 41# RUN: | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=RSRC3_10 42# RSRC3_10: ; error decoding test.kd: kernel descriptor COMPUTE_PGM_RSRC3 reserved bits in range (30:14) set, must be zero on gfx10+ 43# RSRC3_10-NEXT: ; decoding failed region as bytes 44 45# RUN: yaml2obj %s -DGPU=GFX801 -DSRC1=0300AC60 -DSRC2=80000000 -DSRC3=00000001 \ 46# RUN: | llvm-objdump --disassemble-symbols=test.kd - | FileCheck %s --check-prefix=RSRC3_PRE_9 47# RSRC3_PRE_9: ; error decoding test.kd: kernel descriptor COMPUTE_PGM_RSRC3 must be all zero before gfx9 48# RSRC3_PRE_9-NEXT: ; decoding failed region as bytes 49 50--- !ELF 51FileHeader: 52 Class: ELFCLASS64 53 Data: ELFDATA2LSB 54 OSABI: ELFOSABI_AMDGPU_HSA 55 ABIVersion: 0x3 56 Type: ET_REL 57 Machine: EM_AMDGPU 58 Flags: [ EF_AMDGPU_MACH_AMDGCN_[[GPU]], EF_AMDGPU_FEATURE_XNACK_UNSUPPORTED_V4, EF_AMDGPU_FEATURE_SRAMECC_UNSUPPORTED_V4 ] 59 SectionHeaderStringTable: .strtab 60Sections: 61 - Name: .text 62 Type: SHT_PROGBITS 63 Flags: [ SHF_ALLOC, SHF_EXECINSTR ] 64 AddressAlign: 0x4 65 Content: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000[[SRC3]][[SRC1]][[SRC2]]0004000000000000 66 - Name: .rela.text 67 Type: SHT_RELA 68 Flags: [ SHF_INFO_LINK ] 69 Link: .symtab 70 AddressAlign: 0x8 71 Info: .text 72 Relocations: 73 - Offset: 0x10 74 Symbol: test 75 Type: R_AMDGPU_REL64 76 Addend: 16 77 - Type: SectionHeaderTable 78 Sections: 79 - Name: .strtab 80 - Name: .text 81 - Name: .rela.text 82 - Name: .symtab 83Symbols: 84 - Name: test.kd 85 Type: STT_OBJECT 86 Section: .text 87 Binding: STB_GLOBAL 88 Size: 0x40 89 - Name: test 90 Binding: STB_GLOBAL 91 Other: [ STV_PROTECTED ] 92... 93