[AMDGPU] Define gfx1310 target with ELF number 0x50 (#177355)
For now this is identical to gfx1250. --------- Co-authored-by: Jay Foad <jay.foad@amd.com>
This commit is contained in:
parent
3954cd2db6
commit
6de6f7b46b
@ -196,6 +196,8 @@ Target Specific Changes
|
||||
AMDGPU Support
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
- Initial support for gfx1310
|
||||
|
||||
NVPTX Support
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
@ -107,6 +107,7 @@ enum class OffloadArch {
|
||||
GFX1201,
|
||||
GFX1250,
|
||||
GFX1251,
|
||||
GFX1310,
|
||||
AMDGCNSPIRV,
|
||||
Generic, // A processor model named 'generic' if the target backend defines a
|
||||
// public one.
|
||||
|
||||
@ -95,6 +95,7 @@ static const OffloadArchToStringMap ArchNames[] = {
|
||||
GFX(1201), // gfx1201
|
||||
GFX(1250), // gfx1250
|
||||
GFX(1251), // gfx1251
|
||||
GFX(1310), // gfx1310
|
||||
{OffloadArch::AMDGCNSPIRV, "amdgcnspirv", "compute_amdgcn"},
|
||||
// Intel CPUs
|
||||
{OffloadArch::GRANITERAPIDS, "graniterapids", ""},
|
||||
|
||||
@ -2378,6 +2378,7 @@ void CGOpenMPRuntimeGPU::processRequiresDirective(const OMPRequiresDecl *D) {
|
||||
case OffloadArch::GFX1201:
|
||||
case OffloadArch::GFX1250:
|
||||
case OffloadArch::GFX1251:
|
||||
case OffloadArch::GFX1310:
|
||||
case OffloadArch::AMDGCNSPIRV:
|
||||
case OffloadArch::Generic:
|
||||
case OffloadArch::GRANITERAPIDS:
|
||||
|
||||
@ -132,6 +132,7 @@
|
||||
// RUN: %clang -E -dM -target amdgcn -mcpu=gfx1201 %s 2>&1 | FileCheck --check-prefixes=ARCH-GCN,FAST_FMAF %s -DWAVEFRONT_SIZE=32 -DCPU=gfx1201 -DFAMILY=GFX12
|
||||
// RUN: %clang -E -dM -target amdgcn -mcpu=gfx1250 %s 2>&1 | FileCheck --check-prefixes=ARCH-GCN,FAST_FMAF %s -DWAVEFRONT_SIZE=32 -DCPU=gfx1250 -DFAMILY=GFX12
|
||||
// RUN: %clang -E -dM -target amdgcn -mcpu=gfx1251 %s 2>&1 | FileCheck --check-prefixes=ARCH-GCN,FAST_FMAF %s -DWAVEFRONT_SIZE=32 -DCPU=gfx1251 -DFAMILY=GFX12
|
||||
// RUN: %clang -E -dM -target amdgcn -mcpu=gfx1310 %s 2>&1 | FileCheck --check-prefixes=ARCH-GCN,FAST_FMAF %s -DWAVEFRONT_SIZE=32 -DCPU=gfx1310 -DFAMILY=GFX13
|
||||
|
||||
// RUN: %clang -E -dM -target amdgcn -mcpu=gfx9-generic %s 2>&1 | FileCheck --check-prefixes=ARCH-GCN,FAST_FMAF %s -DWAVEFRONT_SIZE=64 -DCPU=gfx9_generic -DFAMILY=GFX9
|
||||
// RUN: %clang -E -dM -target amdgcn -mcpu=gfx9-4-generic %s 2>&1 | FileCheck --check-prefixes=ARCH-GCN,FAST_FMAF %s -DWAVEFRONT_SIZE=64 -DCPU=gfx9_4_generic -DFAMILY=GFX9
|
||||
|
||||
@ -117,6 +117,7 @@
|
||||
// RUN: %clang -### -target amdgcn -mcpu=gfx1201 %s 2>&1 | FileCheck --check-prefix=GFX1201 %s
|
||||
// RUN: %clang -### -target amdgcn -mcpu=gfx1250 %s 2>&1 | FileCheck --check-prefix=GFX1250 %s
|
||||
// RUN: %clang -### -target amdgcn -mcpu=gfx1251 %s 2>&1 | FileCheck --check-prefix=GFX1251 %s
|
||||
// RUN: %clang -### -target amdgcn -mcpu=gfx1310 %s 2>&1 | FileCheck --check-prefix=GFX1310 %s
|
||||
|
||||
// RUN: %clang -### -target amdgcn -mcpu=gfx9-generic %s 2>&1 | FileCheck --check-prefix=GFX9_GENERIC %s
|
||||
// RUN: %clang -### -target amdgcn -mcpu=gfx9-4-generic %s 2>&1 | FileCheck --check-prefix=GFX9_4_GENERIC %s
|
||||
@ -173,6 +174,7 @@
|
||||
// GFX1201: "-target-cpu" "gfx1201"
|
||||
// GFX1250: "-target-cpu" "gfx1250"
|
||||
// GFX1251: "-target-cpu" "gfx1251"
|
||||
// GFX1310: "-target-cpu" "gfx1310"
|
||||
|
||||
// GFX9_GENERIC: "-target-cpu" "gfx9-generic"
|
||||
// GFX9_4_GENERIC: "-target-cpu" "gfx9-4-generic"
|
||||
|
||||
@ -70,6 +70,7 @@
|
||||
// CHECK-SAME: {{^}}, gfx1201
|
||||
// CHECK-SAME: {{^}}, gfx1250
|
||||
// CHECK-SAME: {{^}}, gfx1251
|
||||
// CHECK-SAME: {{^}}, gfx1310
|
||||
// CHECK-SAME: {{^}}, gfx9-generic
|
||||
// CHECK-SAME: {{^}}, gfx10-1-generic
|
||||
// CHECK-SAME: {{^}}, gfx10-3-generic
|
||||
|
||||
@ -92,5 +92,6 @@
|
||||
// CHECK-SAME: {{^}}, gfx1201
|
||||
// CHECK-SAME: {{^}}, gfx1250
|
||||
// CHECK-SAME: {{^}}, gfx1251
|
||||
// CHECK-SAME: {{^}}, gfx1310
|
||||
// CHECK-SAME: {{^}}, amdgcnspirv
|
||||
// CHECK-SAME: {{$}}
|
||||
|
||||
@ -232,6 +232,7 @@ set( tahiti_aliases pitcairn verde oland hainan bonaire kabini kaveri hawaii
|
||||
gfx1100 gfx1101 gfx1102 gfx1103
|
||||
gfx1150 gfx1151 gfx1152 gfx1153
|
||||
gfx1200 gfx1201 gfx1250 gfx1251
|
||||
gfx1310
|
||||
)
|
||||
|
||||
# pkg-config file
|
||||
|
||||
@ -556,6 +556,15 @@ Every processor supports every OS ABI (see :ref:`amdgpu-os`) with the following
|
||||
- Workgroup
|
||||
Clusters
|
||||
|
||||
**GCN GFX13 (RDNA 5)**
|
||||
-----------------------------------------------------------------------------------------------------------------------
|
||||
``gfx1310`` ``amdgcn`` dGPU - cumode - Architected *TBA*
|
||||
- wavefrontsize64 flat
|
||||
scratch .. TODO::
|
||||
- Packed
|
||||
work-item Add product
|
||||
IDs names.
|
||||
|
||||
=========== =============== ============ ===== ================= =============== =============== ======================
|
||||
|
||||
Generic processors allow execution of a single code object on any of the processors that
|
||||
@ -2579,7 +2588,7 @@ The AMDGPU backend uses the following ELF header:
|
||||
*reserved* 0x04d Reserved.
|
||||
``EF_AMDGPU_MACH_AMDGCN_GFX1201`` 0x04e ``gfx1201``
|
||||
``EF_AMDGPU_MACH_AMDGCN_GFX950`` 0x04f ``gfx950``
|
||||
*reserved* 0x050 Reserved.
|
||||
``EF_AMDGPU_MACH_AMDGCN_GFX1310`` 0x050 ``gfx1310``
|
||||
``EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC`` 0x051 ``gfx9-generic``
|
||||
``EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC`` 0x052 ``gfx10-1-generic``
|
||||
``EF_AMDGPU_MACH_AMDGCN_GFX10_3_GENERIC`` 0x053 ``gfx10-3-generic``
|
||||
|
||||
@ -84,6 +84,8 @@ Changes to the AArch64 Backend
|
||||
Changes to the AMDGPU Backend
|
||||
-----------------------------
|
||||
|
||||
* Initial support for gfx1310
|
||||
|
||||
Changes to the ARM Backend
|
||||
--------------------------
|
||||
|
||||
|
||||
@ -851,7 +851,7 @@ enum : unsigned {
|
||||
EF_AMDGPU_MACH_AMDGCN_RESERVED_0X4D = 0x04d,
|
||||
EF_AMDGPU_MACH_AMDGCN_GFX1201 = 0x04e,
|
||||
EF_AMDGPU_MACH_AMDGCN_GFX950 = 0x04f,
|
||||
EF_AMDGPU_MACH_AMDGCN_RESERVED_0X50 = 0x050,
|
||||
EF_AMDGPU_MACH_AMDGCN_GFX1310 = 0x050,
|
||||
EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC = 0x051,
|
||||
EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC = 0x052,
|
||||
EF_AMDGPU_MACH_AMDGCN_GFX10_3_GENERIC = 0x053,
|
||||
|
||||
@ -115,8 +115,10 @@ enum GPUKind : uint32_t {
|
||||
GK_GFX1250,
|
||||
GK_GFX1251,
|
||||
|
||||
GK_GFX1310,
|
||||
|
||||
GK_AMDGCN_FIRST = GK_GFX600,
|
||||
GK_AMDGCN_LAST = GK_GFX1251,
|
||||
GK_AMDGCN_LAST = GK_GFX1310,
|
||||
|
||||
GK_GFX9_GENERIC,
|
||||
GK_GFX10_1_GENERIC,
|
||||
|
||||
@ -606,6 +606,10 @@ StringRef ELFObjectFileBase::getAMDGPUCPUName() const {
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1251:
|
||||
return "gfx1251";
|
||||
|
||||
// AMDGCN GFX13.
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1310:
|
||||
return "gfx1310";
|
||||
|
||||
// Generic AMDGCN targets
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC:
|
||||
return "gfx9-generic";
|
||||
|
||||
@ -653,6 +653,7 @@ void ScalarBitSetTraits<ELFYAML::ELF_EF>::bitset(IO &IO,
|
||||
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX1201, EF_AMDGPU_MACH);
|
||||
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX1250, EF_AMDGPU_MACH);
|
||||
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX1251, EF_AMDGPU_MACH);
|
||||
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX1310, EF_AMDGPU_MACH);
|
||||
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC, EF_AMDGPU_MACH);
|
||||
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC, EF_AMDGPU_MACH);
|
||||
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC, EF_AMDGPU_MACH);
|
||||
|
||||
@ -333,3 +333,11 @@ def : ProcessorModel<"gfx1250", GFX1250SpeedModel,
|
||||
def : ProcessorModel<"gfx1251", GFX1250SpeedModel,
|
||||
FeatureISAVersion12_51.Features
|
||||
>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// GCN GFX13.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
def : ProcessorModel<"gfx1310", GFX12SpeedModel,
|
||||
FeatureISAVersion12_50.Features
|
||||
>;
|
||||
|
||||
@ -118,6 +118,7 @@ StringRef AMDGPUTargetStreamer::getArchNameFromElfMach(unsigned ElfMach) {
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1201: AK = GK_GFX1201; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1250: AK = GK_GFX1250; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1251: AK = GK_GFX1251; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1310: AK = GK_GFX1310; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC: AK = GK_GFX9_GENERIC; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC: AK = GK_GFX9_4_GENERIC; break;
|
||||
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC: AK = GK_GFX10_1_GENERIC; break;
|
||||
@ -205,6 +206,7 @@ unsigned AMDGPUTargetStreamer::getElfMach(StringRef GPU) {
|
||||
case GK_GFX1201: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX1201;
|
||||
case GK_GFX1250: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX1250;
|
||||
case GK_GFX1251: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX1251;
|
||||
case GK_GFX1310: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX1310;
|
||||
case GK_GFX9_GENERIC: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC;
|
||||
case GK_GFX9_4_GENERIC: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC;
|
||||
case GK_GFX10_1_GENERIC: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC;
|
||||
|
||||
@ -176,6 +176,7 @@ constexpr GPUInfo AMDGCNGPUs[] = {
|
||||
{{"gfx1201"}, {"gfx1201"}, GK_GFX1201, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_WAVE32|FEATURE_WGP},
|
||||
{{"gfx1250"}, {"gfx1250"}, GK_GFX1250, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_WAVE32|FEATURE_XNACK_ALWAYS},
|
||||
{{"gfx1251"}, {"gfx1251"}, GK_GFX1251, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_WAVE32|FEATURE_XNACK_ALWAYS},
|
||||
{{"gfx1310"}, {"gfx1310"}, GK_GFX1310, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_WAVE32|FEATURE_WGP},
|
||||
|
||||
{{"gfx9-generic"}, {"gfx9-generic"}, GK_GFX9_GENERIC, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_XNACK},
|
||||
{{"gfx10-1-generic"}, {"gfx10-1-generic"}, GK_GFX10_1_GENERIC, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_WAVE32|FEATURE_XNACK|FEATURE_WGP},
|
||||
@ -332,6 +333,7 @@ AMDGPU::IsaVersion AMDGPU::getIsaVersion(StringRef GPU) {
|
||||
case GK_GFX1201: return {12, 0, 1};
|
||||
case GK_GFX1250: return {12, 5, 0};
|
||||
case GK_GFX1251: return {12, 5, 1};
|
||||
case GK_GFX1310: return {13, 1, 0};
|
||||
|
||||
// Generic targets return the lowest common denominator
|
||||
// within their family. That is, the ISA that is the most
|
||||
@ -429,6 +431,7 @@ static void fillAMDGCNFeatureMap(StringRef GPU, const Triple &T,
|
||||
StringMap<bool> &Features) {
|
||||
AMDGPU::GPUKind Kind = parseArchAMDGCN(GPU);
|
||||
switch (Kind) {
|
||||
case GK_GFX1310:
|
||||
case GK_GFX1251:
|
||||
case GK_GFX1250:
|
||||
Features["ci-insts"] = true;
|
||||
|
||||
@ -108,6 +108,7 @@
|
||||
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1201 < %s | FileCheck --check-prefixes=GFX1201 %s
|
||||
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1250 < %s | FileCheck --check-prefixes=GFX1250 %s
|
||||
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1251 < %s | FileCheck --check-prefixes=GFX1251 %s
|
||||
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1310 < %s | FileCheck --check-prefixes=GFX1310 %s
|
||||
|
||||
; RUN: llc --amdhsa-code-object-version=6 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx9-generic -mattr=-xnack < %s | FileCheck --check-prefixes=GFX9_GENERIC_NOXNACK %s
|
||||
; RUN: llc --amdhsa-code-object-version=6 -mtriple=amdgcn-amd-amdhsa -mcpu=gfx9-generic -mattr=+xnack < %s | FileCheck --check-prefixes=GFX9_GENERIC_XNACK %s
|
||||
@ -207,6 +208,7 @@
|
||||
; GFX1201: .amdgcn_target "amdgcn-amd-amdhsa--gfx1201"
|
||||
; GFX1250: .amdgcn_target "amdgcn-amd-amdhsa--gfx1250"
|
||||
; GFX1251: .amdgcn_target "amdgcn-amd-amdhsa--gfx1251"
|
||||
; GFX1310: .amdgcn_target "amdgcn-amd-amdhsa--gfx1310"
|
||||
|
||||
; GFX9_GENERIC_NOXNACK: .amdgcn_target "amdgcn-amd-amdhsa--gfx9-generic:xnack-"
|
||||
; GFX9_GENERIC_XNACK: .amdgcn_target "amdgcn-amd-amdhsa--gfx9-generic:xnack+"
|
||||
|
||||
@ -79,6 +79,7 @@
|
||||
; RUN: llc -filetype=obj -mtriple=amdgcn -mcpu=gfx1201 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX1201 %s
|
||||
; RUN: llc -filetype=obj -mtriple=amdgcn -mcpu=gfx1250 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX1250 %s
|
||||
; RUN: llc -filetype=obj -mtriple=amdgcn -mcpu=gfx1251 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX1251 %s
|
||||
; RUN: llc -filetype=obj -mtriple=amdgcn -mcpu=gfx1310 < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX1310 %s
|
||||
|
||||
; RUN: llc -filetype=obj --amdhsa-code-object-version=6 -mtriple=amdgcn -mcpu=gfx9-generic < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX9_GENERIC %s
|
||||
; RUN: llc -filetype=obj --amdhsa-code-object-version=6 -mtriple=amdgcn -mcpu=gfx9-4-generic < %s | llvm-readobj --file-header - | FileCheck --check-prefixes=ALL,ARCH-GCN,GFX9_4_GENERIC %s
|
||||
@ -162,6 +163,7 @@
|
||||
; GFX1201: EF_AMDGPU_MACH_AMDGCN_GFX1201 (0x4E)
|
||||
; GFX1250: EF_AMDGPU_MACH_AMDGCN_GFX1250 (0x49)
|
||||
; GFX1251: EF_AMDGPU_MACH_AMDGCN_GFX1251 (0x5A)
|
||||
; GFX1310: EF_AMDGPU_MACH_AMDGCN_GFX1310 (0x50)
|
||||
|
||||
; GFX9_GENERIC: EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC (0x51)
|
||||
; GFX9_4_GENERIC: EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC (0x5F)
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
; RUN: llc -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck --check-prefixes=GCN,GFX1100,GFX1100W32 %s
|
||||
; RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -mattr=+wavefrontsize64 < %s | FileCheck --check-prefixes=GCN,GFX1100,GFX1100W64 %s
|
||||
; RUN: llc -mtriple=amdgcn -mcpu=gfx1250 < %s | FileCheck --check-prefixes=GCN,GFX1250 %s
|
||||
; RUN: llc -mtriple=amdgcn -mcpu=gfx1310 < %s | FileCheck --check-prefixes=GCN,GFX1250 %s
|
||||
|
||||
; GCN-LABEL: {{^}}max_occupancy:
|
||||
; GFX9: ; Occupancy: 10
|
||||
|
||||
@ -250,6 +250,10 @@
|
||||
# RUN: llvm-readobj -S --file-headers %t.o.AMDGCN_GFX1251 | FileCheck --check-prefixes=ELF-AMDGCN-ALL,ELF-AMDGCN-GFX1251 %s
|
||||
# RUN: obj2yaml %t.o.AMDGCN_GFX1251 | FileCheck --check-prefixes=YAML-AMDGCN-ALL,YAML-AMDGCN-GFX1251 %s
|
||||
|
||||
# RUN: sed -e 's/<BITS>/64/' -e 's/<MACH>/AMDGCN_GFX1310/' %s | yaml2obj -o %t.o.AMDGCN_GFX1310
|
||||
# RUN: llvm-readobj -S --file-headers %t.o.AMDGCN_GFX1310 | FileCheck --check-prefixes=ELF-AMDGCN-ALL,ELF-AMDGCN-GFX1310 %s
|
||||
# RUN: obj2yaml %t.o.AMDGCN_GFX1310 | FileCheck --check-prefixes=YAML-AMDGCN-ALL,YAML-AMDGCN-GFX1310 %s
|
||||
|
||||
# RUN: sed -e 's/<BITS>/64/' -e 's/<MACH>/AMDGCN_GFX9_GENERIC/' %s | yaml2obj -o %t.o.AMDGCN_GFX9_GENERIC
|
||||
# RUN: llvm-readobj -S --file-headers %t.o.AMDGCN_GFX9_GENERIC | FileCheck --check-prefixes=ELF-AMDGCN-ALL,ELF-AMDGCN-GFX9_GENERIC %s
|
||||
# RUN: obj2yaml %t.o.AMDGCN_GFX9_GENERIC | FileCheck --check-prefixes=YAML-AMDGCN-ALL,YAML-AMDGCN-GFX9_GENERIC %s
|
||||
@ -481,6 +485,9 @@
|
||||
# ELF-AMDGCN-GFX1251: EF_AMDGPU_MACH_AMDGCN_GFX1251 (0x5A)
|
||||
# YAML-AMDGCN-GFX1251: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX1251 ]
|
||||
|
||||
# ELF-AMDGCN-GFX1310: EF_AMDGPU_MACH_AMDGCN_GFX1310 (0x50)
|
||||
# YAML-AMDGCN-GFX1310: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX1310 ]
|
||||
|
||||
# ELF-AMDGCN-GFX9_GENERIC: EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC (0x51)
|
||||
# YAML-AMDGCN-GFX9_GENERIC: Flags: [ EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC ]
|
||||
|
||||
|
||||
@ -4,6 +4,13 @@ define amdgpu_kernel void @test_kernel() {
|
||||
|
||||
; Test subtarget detection. Disassembly is only supported for GFX8 and beyond.
|
||||
;
|
||||
; ----------------------------------GFX13--------------------------------------
|
||||
;
|
||||
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1310 -filetype=obj -O0 -o %t.o %s
|
||||
; RUN: llvm-objdump -D --arch-name=amdgcn --mcpu=gfx1310 %t.o > %t-specify.txt
|
||||
; RUN: llvm-objdump -D %t.o > %t-detect.txt
|
||||
; RUN: diff %t-specify.txt %t-detect.txt
|
||||
;
|
||||
; ----------------------------------GFX12--------------------------------------
|
||||
;
|
||||
; RUN: llc -mtriple=amdgcn-amd-amdhsa --amdhsa-code-object-version=6 -mcpu=gfx12-generic -filetype=obj -O0 -o %t.o %s
|
||||
|
||||
@ -472,6 +472,15 @@
|
||||
# RUN: yaml2obj %s -o %t -DABI_VERSION=2 -DFLAG_NAME=EF_AMDGPU_MACH_AMDGCN_GFX1251
|
||||
# RUN: llvm-readobj -h %t | FileCheck %s --check-prefixes=ALL,KNOWN-ABI-VERSION,SINGLE-FLAG --match-full-lines -DABI_VERSION=2 -DFILE=%t -DFLAG_NAME=EF_AMDGPU_MACH_AMDGCN_GFX1251 -DFLAG_VALUE=0x5A
|
||||
|
||||
# RUN: yaml2obj %s -o %t -DABI_VERSION=0 -DFLAG_NAME=EF_AMDGPU_MACH_AMDGCN_GFX1310
|
||||
# RUN: llvm-readobj -h %t | FileCheck %s --check-prefixes=ALL,KNOWN-ABI-VERSION,SINGLE-FLAG --match-full-lines -DABI_VERSION=0 -DFILE=%t -DFLAG_NAME=EF_AMDGPU_MACH_AMDGCN_GFX1310 -DFLAG_VALUE=0x50
|
||||
|
||||
# RUN: yaml2obj %s -o %t -DABI_VERSION=1 -DFLAG_NAME=EF_AMDGPU_MACH_AMDGCN_GFX1310
|
||||
# RUN: llvm-readobj -h %t | FileCheck %s --check-prefixes=ALL,KNOWN-ABI-VERSION,SINGLE-FLAG --match-full-lines -DABI_VERSION=1 -DFILE=%t -DFLAG_NAME=EF_AMDGPU_MACH_AMDGCN_GFX1310 -DFLAG_VALUE=0x50
|
||||
|
||||
# RUN: yaml2obj %s -o %t -DABI_VERSION=2 -DFLAG_NAME=EF_AMDGPU_MACH_AMDGCN_GFX1310
|
||||
# RUN: llvm-readobj -h %t | FileCheck %s --check-prefixes=ALL,KNOWN-ABI-VERSION,SINGLE-FLAG --match-full-lines -DABI_VERSION=2 -DFILE=%t -DFLAG_NAME=EF_AMDGPU_MACH_AMDGCN_GFX1310 -DFLAG_VALUE=0x50
|
||||
|
||||
--- !ELF
|
||||
FileHeader:
|
||||
Class: ELFCLASS64
|
||||
|
||||
@ -1668,6 +1668,7 @@ const EnumEntry<unsigned> ElfHeaderMipsFlags[] = {
|
||||
ENUM_ENT(EF_AMDGPU_MACH_AMDGCN_GFX1201, "gfx1201"), \
|
||||
ENUM_ENT(EF_AMDGPU_MACH_AMDGCN_GFX1250, "gfx1250"), \
|
||||
ENUM_ENT(EF_AMDGPU_MACH_AMDGCN_GFX1251, "gfx1251"), \
|
||||
ENUM_ENT(EF_AMDGPU_MACH_AMDGCN_GFX1310, "gfx1310"), \
|
||||
ENUM_ENT(EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC, "gfx9-generic"), \
|
||||
ENUM_ENT(EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC, "gfx9-4-generic"), \
|
||||
ENUM_ENT(EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC, "gfx10-1-generic"), \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user