diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2015-06-26 21:58:31 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2015-06-26 21:58:31 +0000 |
commit | ff7416ba060d144a2da317af32ac880c7abb2c22 (patch) | |
tree | 0a08892c73a17ed3218508e6590b2f04ec88b937 /llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | |
parent | 833ae4faddae5ab7469945d6d1feb260342d12a3 (diff) | |
download | llvm-ff7416ba060d144a2da317af32ac880c7abb2c22.zip llvm-ff7416ba060d144a2da317af32ac880c7abb2c22.tar.gz llvm-ff7416ba060d144a2da317af32ac880c7abb2c22.tar.bz2 |
AMDGPU/SI: Update amd_kernel_code_t definition and add assembler support
Reviewers: arsenm
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10772
llvm-svn: 240839
Diffstat (limited to 'llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp index 220de5c..b76b400 100644 --- a/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp +++ b/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp @@ -33,5 +33,28 @@ IsaVersion getIsaVersion(const FeatureBitset &Features) { return {0, 0, 0}; } +void initDefaultAMDKernelCodeT(amd_kernel_code_t &Header, + const FeatureBitset &Features) { + + IsaVersion ISA = getIsaVersion(Features); + + memset(&Header, 0, sizeof(Header)); + + Header.amd_kernel_code_version_major = 1; + Header.amd_kernel_code_version_minor = 0; + Header.amd_machine_kind = 1; // AMD_MACHINE_KIND_AMDGPU + Header.amd_machine_version_major = ISA.Major; + Header.amd_machine_version_minor = ISA.Minor; + Header.amd_machine_version_stepping = ISA.Stepping; + Header.kernel_code_entry_byte_offset = sizeof(Header); + // wavefront_size is specified as a power of 2: 2^6 = 64 threads. + Header.wavefront_size = 6; + // These alignment values are specified in powers of two, so alignment = + // 2^n. The minimum alignment is 2^4 = 16. + Header.kernarg_segment_alignment = 4; + Header.group_segment_alignment = 4; + Header.private_segment_alignment = 4; +} + } // End namespace AMDGPU } // End namespace llvm |