Skip to content

Commit 2ae5c53

Browse files
committed
GFX11: Add a new target gfx1152
Change-Id: I536cf700112f6ab7ca912cd94b2d29cf4d8ef2f0
1 parent f7a3dc8 commit 2ae5c53

File tree

33 files changed

+100
-19
lines changed

33 files changed

+100
-19
lines changed

amd/comgr/docs/ReleaseNotes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ New Targets
166166
- gfx1036
167167
- gfx1150
168168
- gfx1151
169+
- gfx1152
169170

170171
Removed Targets
171172
---------------

amd/comgr/src/comgr-isa-metadata.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1102", false, false, EF_AMDGPU_MACH_AMDGCN
8989
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1103", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1103, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
9090
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1150", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1150, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
9191
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1151", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1151, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 24, 1536, 256)
92+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1152", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1152, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
9293
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1200", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1200, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 24, 1536, 256)
9394
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1201", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1201, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 24, 1536, 256)
9495

amd/comgr/test/get_data_isa_name_test.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ static isa_features_t IsaFeatures[] = {
104104
{"amdgcn-amd-amdhsa--gfx1103", false, false, none, false, none},
105105
{"amdgcn-amd-amdhsa--gfx1150", false, false, none, false, none},
106106
{"amdgcn-amd-amdhsa--gfx1151", false, false, none, false, none},
107+
{"amdgcn-amd-amdhsa--gfx1152", false, false, none, false, none},
107108
{"amdgcn-amd-amdhsa--gfx1200", false, false, none, false, none},
108109
{"amdgcn-amd-amdhsa--gfx1201", false, false, none, false, none},
109110
};
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/*===--------------------------------------------------------------------------
2+
* ROCm Device Libraries
3+
*
4+
* This file is distributed under the University of Illinois Open Source
5+
* License. See LICENSE.TXT for details.
6+
*===------------------------------------------------------------------------*/
7+
8+
#include "oclc.h"
9+
10+
const __constant int __oclc_ISA_version = 11502;

clang/include/clang/Basic/Cuda.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ enum class CudaArch {
116116
GFX1103,
117117
GFX1150,
118118
GFX1151,
119+
GFX1152,
119120
GFX1200,
120121
GFX1201,
121122
Generic, // A processor model named 'generic' if the target backend defines a

clang/lib/Basic/Cuda.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ static const CudaArchToStringMap arch_names[] = {
138138
GFX(1103), // gfx1103
139139
GFX(1150), // gfx1150
140140
GFX(1151), // gfx1151
141+
GFX(1152), // gfx1152
141142
GFX(1200), // gfx1200
142143
GFX(1201), // gfx1201
143144
{CudaArch::Generic, "generic", ""},

clang/lib/Basic/Targets/NVPTX.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ void NVPTXTargetInfo::getTargetDefines(const LangOptions &Opts,
214214
case CudaArch::GFX1103:
215215
case CudaArch::GFX1150:
216216
case CudaArch::GFX1151:
217+
case CudaArch::GFX1152:
217218
case CudaArch::GFX1200:
218219
case CudaArch::GFX1201:
219220
case CudaArch::Generic:

clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3749,6 +3749,7 @@ void CGOpenMPRuntimeGPU::processRequiresDirective(
37493749
case CudaArch::GFX1103:
37503750
case CudaArch::GFX1150:
37513751
case CudaArch::GFX1151:
3752+
case CudaArch::GFX1152:
37523753
case CudaArch::GFX1200:
37533754
case CudaArch::GFX1201:
37543755
case CudaArch::Generic:

clang/test/CodeGenOpenCL/amdgpu-features.cl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
// RUN: %clang_cc1 -triple amdgcn -target-cpu gfx1103 -S -emit-llvm -o - %s | FileCheck --check-prefix=GFX1103 %s
5050
// RUN: %clang_cc1 -triple amdgcn -target-cpu gfx1150 -S -emit-llvm -o - %s | FileCheck --check-prefix=GFX1150 %s
5151
// RUN: %clang_cc1 -triple amdgcn -target-cpu gfx1151 -S -emit-llvm -o - %s | FileCheck --check-prefix=GFX1151 %s
52+
// RUN: %clang_cc1 -triple amdgcn -target-cpu gfx1152 -S -emit-llvm -o - %s | FileCheck --check-prefix=GFX1152 %s
5253
// RUN: %clang_cc1 -triple amdgcn -target-cpu gfx1200 -S -emit-llvm -o - %s | FileCheck --check-prefix=GFX1200 %s
5354
// RUN: %clang_cc1 -triple amdgcn -target-cpu gfx1201 -S -emit-llvm -o - %s | FileCheck --check-prefix=GFX1201 %s
5455

@@ -100,6 +101,7 @@
100101
// GFX1103: "target-features"="+16-bit-insts,+atomic-fadd-rtn-insts,+ci-insts,+dl-insts,+dot10-insts,+dot5-insts,+dot7-insts,+dot8-insts,+dot9-insts,+dpp,+gfx10-3-insts,+gfx10-insts,+gfx11-insts,+gfx8-insts,+gfx9-insts,+wavefrontsize32"
101102
// GFX1150: "target-features"="+16-bit-insts,+atomic-fadd-rtn-insts,+ci-insts,+dl-insts,+dot10-insts,+dot5-insts,+dot7-insts,+dot8-insts,+dot9-insts,+dpp,+gfx10-3-insts,+gfx10-insts,+gfx11-insts,+gfx8-insts,+gfx9-insts,+wavefrontsize32"
102103
// GFX1151: "target-features"="+16-bit-insts,+atomic-fadd-rtn-insts,+ci-insts,+dl-insts,+dot10-insts,+dot5-insts,+dot7-insts,+dot8-insts,+dot9-insts,+dpp,+gfx10-3-insts,+gfx10-insts,+gfx11-insts,+gfx8-insts,+gfx9-insts,+wavefrontsize32"
104+
// GFX1152: "target-features"="+16-bit-insts,+atomic-fadd-rtn-insts,+ci-insts,+dl-insts,+dot10-insts,+dot5-insts,+dot7-insts,+dot8-insts,+dot9-insts,+dpp,+gfx10-3-insts,+gfx10-insts,+gfx11-insts,+gfx8-insts,+gfx9-insts,+wavefrontsize32"
103105
// GFX1200: "target-features"="+16-bit-insts,+atomic-buffer-global-pk-add-f16-insts,+atomic-ds-pk-add-16-insts,+atomic-fadd-rtn-insts,+atomic-flat-pk-add-16-insts,+atomic-global-pk-add-bf16-inst,+ci-insts,+dl-insts,+dot10-insts,+dot5-insts,+dot7-insts,+dot8-insts,+dot9-insts,+dpp,+fp8-conversion-insts,+gfx10-3-insts,+gfx10-insts,+gfx11-insts,+gfx12-insts,+gfx8-insts,+gfx9-insts,+wavefrontsize32"
104106
// GFX1201: "target-features"="+16-bit-insts,+atomic-buffer-global-pk-add-f16-insts,+atomic-ds-pk-add-16-insts,+atomic-fadd-rtn-insts,+atomic-flat-pk-add-16-insts,+atomic-global-pk-add-bf16-inst,+ci-insts,+dl-insts,+dot10-insts,+dot5-insts,+dot7-insts,+dot8-insts,+dot9-insts,+dpp,+fp8-conversion-insts,+gfx10-3-insts,+gfx10-insts,+gfx11-insts,+gfx12-insts,+gfx8-insts,+gfx9-insts,+wavefrontsize32"
105107

clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
// RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu gfx1103 -S -emit-llvm -o - %s | FileCheck %s
66
// RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu gfx1150 -S -emit-llvm -o - %s | FileCheck %s
77
// RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu gfx1151 -S -emit-llvm -o - %s | FileCheck %s
8+
// RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu gfx1152 -S -emit-llvm -o - %s | FileCheck %s
89

910
typedef unsigned int uint;
1011
typedef unsigned long ulong;

clang/test/Driver/amdgpu-macros.cl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@
128128
// RUN: %clang -E -dM -target amdgcn -mcpu=gfx1103 %s 2>&1 | FileCheck --check-prefixes=ARCH-GCN,FAST_FMAF %s -DWAVEFRONT_SIZE=32 -DCPU=gfx1103 -DFAMILY=GFX11
129129
// RUN: %clang -E -dM -target amdgcn -mcpu=gfx1150 %s 2>&1 | FileCheck --check-prefixes=ARCH-GCN,FAST_FMAF %s -DWAVEFRONT_SIZE=32 -DCPU=gfx1150 -DFAMILY=GFX11
130130
// RUN: %clang -E -dM -target amdgcn -mcpu=gfx1151 %s 2>&1 | FileCheck --check-prefixes=ARCH-GCN,FAST_FMAF %s -DWAVEFRONT_SIZE=32 -DCPU=gfx1151 -DFAMILY=GFX11
131+
// RUN: %clang -E -dM -target amdgcn -mcpu=gfx1152 %s 2>&1 | FileCheck --check-prefixes=ARCH-GCN,FAST_FMAF %s -DWAVEFRONT_SIZE=32 -DCPU=gfx1152 -DFAMILY=GFX11
131132
// RUN: %clang -E -dM -target amdgcn -mcpu=gfx1200 %s 2>&1 | FileCheck --check-prefixes=ARCH-GCN,FAST_FMAF %s -DWAVEFRONT_SIZE=32 -DCPU=gfx1200 -DFAMILY=GFX12
132133
// 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
133134

clang/test/Driver/amdgpu-mcpu.cl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@
112112
// RUN: %clang -### -target amdgcn -mcpu=gfx1103 %s 2>&1 | FileCheck --check-prefix=GFX1103 %s
113113
// RUN: %clang -### -target amdgcn -mcpu=gfx1150 %s 2>&1 | FileCheck --check-prefix=GFX1150 %s
114114
// RUN: %clang -### -target amdgcn -mcpu=gfx1151 %s 2>&1 | FileCheck --check-prefix=GFX1151 %s
115+
// RUN: %clang -### -target amdgcn -mcpu=gfx1152 %s 2>&1 | FileCheck --check-prefix=GFX1152 %s
115116
// RUN: %clang -### -target amdgcn -mcpu=gfx1200 %s 2>&1 | FileCheck --check-prefix=GFX1200 %s
116117
// RUN: %clang -### -target amdgcn -mcpu=gfx1201 %s 2>&1 | FileCheck --check-prefix=GFX1201 %s
117118

@@ -158,5 +159,6 @@
158159
// GFX1103: "-target-cpu" "gfx1103"
159160
// GFX1150: "-target-cpu" "gfx1150"
160161
// GFX1151: "-target-cpu" "gfx1151"
162+
// GFX1152: "-target-cpu" "gfx1152"
161163
// GFX1200: "-target-cpu" "gfx1200"
162164
// GFX1201: "-target-cpu" "gfx1201"

clang/test/Misc/target-invalid-cpu-note.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@
2929

3030
// RUN: not %clang_cc1 -triple nvptx--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix NVPTX
3131
// NVPTX: error: unknown target CPU 'not-a-cpu'
32-
// NVPTX-NEXT: note: valid target CPU values are: sm_20, sm_21, sm_30, sm_32, sm_35, sm_37, sm_50, sm_52, sm_53, sm_60, sm_61, sm_62, sm_70, sm_72, sm_75, sm_80, sm_86, sm_87, sm_89, sm_90, sm_90a, gfx600, gfx601, gfx602, gfx700, gfx701, gfx702, gfx703, gfx704, gfx705, gfx801, gfx802, gfx803, gfx805, gfx810, gfx900, gfx902, gfx904, gfx906, gfx908, gfx909, gfx90a, gfx90c, gfx940, gfx941, gfx942, gfx1010, gfx1011, gfx1012, gfx1013, gfx1030, gfx1031, gfx1032, gfx1033, gfx1034, gfx1035, gfx1036, gfx1100, gfx1101, gfx1102, gfx1103, gfx1150, gfx1151, gfx1200, gfx1201{{$}}
32+
// NVPTX-NEXT: note: valid target CPU values are: sm_20, sm_21, sm_30, sm_32, sm_35, sm_37, sm_50, sm_52, sm_53, sm_60, sm_61, sm_62, sm_70, sm_72, sm_75, sm_80, sm_86, sm_87, sm_89, sm_90, sm_90a, gfx600, gfx601, gfx602, gfx700, gfx701, gfx702, gfx703, gfx704, gfx705, gfx801, gfx802, gfx803, gfx805, gfx810, gfx900, gfx902, gfx904, gfx906, gfx908, gfx909, gfx90a, gfx90c, gfx940, gfx941, gfx942, gfx1010, gfx1011, gfx1012, gfx1013, gfx1030, gfx1031, gfx1032, gfx1033, gfx1034, gfx1035, gfx1036, gfx1100, gfx1101, gfx1102, gfx1103, gfx1150, gfx1151, gfx1152, gfx1200, gfx1201{{$}}
3333

3434
// RUN: not %clang_cc1 -triple r600--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix R600
3535
// R600: error: unknown target CPU 'not-a-cpu'
3636
// R600-NEXT: note: valid target CPU values are: r600, rv630, rv635, r630, rs780, rs880, rv610, rv620, rv670, rv710, rv730, rv740, rv770, cedar, palm, cypress, hemlock, juniper, redwood, sumo, sumo2, barts, caicos, aruba, cayman, turks{{$}}
3737

3838
// RUN: not %clang_cc1 -triple amdgcn--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix AMDGCN
3939
// AMDGCN: error: unknown target CPU 'not-a-cpu'
40-
// AMDGCN-NEXT: note: valid target CPU values are: gfx600, tahiti, gfx601, pitcairn, verde, gfx602, hainan, oland, gfx700, kaveri, gfx701, hawaii, gfx702, gfx703, kabini, mullins, gfx704, bonaire, gfx705, gfx801, carrizo, gfx802, iceland, tonga, gfx803, fiji, polaris10, polaris11, gfx805, tongapro, gfx810, stoney, gfx900, gfx902, gfx904, gfx906, gfx908, gfx909, gfx90a, gfx90c, gfx940, gfx941, gfx942, gfx1010, gfx1011, gfx1012, gfx1013, gfx1030, gfx1031, gfx1032, gfx1033, gfx1034, gfx1035, gfx1036, gfx1100, gfx1101, gfx1102, gfx1103, gfx1150, gfx1151, gfx1200, gfx1201{{$}}
40+
// AMDGCN-NEXT: note: valid target CPU values are: gfx600, tahiti, gfx601, pitcairn, verde, gfx602, hainan, oland, gfx700, kaveri, gfx701, hawaii, gfx702, gfx703, kabini, mullins, gfx704, bonaire, gfx705, gfx801, carrizo, gfx802, iceland, tonga, gfx803, fiji, polaris10, polaris11, gfx805, tongapro, gfx810, stoney, gfx900, gfx902, gfx904, gfx906, gfx908, gfx909, gfx90a, gfx90c, gfx940, gfx941, gfx942, gfx1010, gfx1011, gfx1012, gfx1013, gfx1030, gfx1031, gfx1032, gfx1033, gfx1034, gfx1035, gfx1036, gfx1100, gfx1101, gfx1102, gfx1103, gfx1150, gfx1151, gfx1152, gfx1200, gfx1201{{$}}
4141

4242
// RUN: not %clang_cc1 -triple wasm64--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix WEBASM
4343
// WEBASM: error: unknown target CPU 'not-a-cpu'

flang/runtime/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ if (NOT FLANG_EXPERIMENTAL_OMP_OFFLOAD_BUILD STREQUAL "off")
256256
"gfx700;gfx701;gfx801;gfx803;gfx900;gfx902;gfx906"
257257
"gfx908;gfx90a;gfx90c;gfx940;gfx1010;gfx1030"
258258
"gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036"
259-
"gfx1100;gfx1101;gfx1102;gfx1103;gfx1150;gfx1151"
259+
"gfx1100;gfx1101;gfx1102;gfx1103;gfx1150;gfx1151;gfx1152"
260260
)
261261
set(all_nvptx_architectures
262262
"sm_35;sm_37;sm_50;sm_52;sm_53;sm_60;sm_61;sm_62"

llvm/docs/AMDGPUUsage.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,12 @@ Every processor supports every OS ABI (see :ref:`amdgpu-os`) with the following
504504
- Packed
505505
work-item Add product
506506
IDs names.
507+
``gfx1152`` ``amdgcn`` APU - cumode - Architected *TBA*
508+
- wavefrontsize64 flat
509+
scratch .. TODO::
510+
- Packed
511+
work-item Add product
512+
IDs names.
507513

508514
``gfx1200`` ``amdgcn`` dGPU - cumode - Architected *TBA*
509515
- wavefrontsize64 flat
@@ -1716,6 +1722,7 @@ The AMDGPU backend uses the following ELF header:
17161722
``EF_AMDGPU_MACH_AMDGCN_GFX942`` 0x04c ``gfx942``
17171723
*reserved* 0x04d Reserved.
17181724
``EF_AMDGPU_MACH_AMDGCN_GFX1201`` 0x04e ``gfx1201``
1725+
``EF_AMDGPU_MACH_AMDGCN_GFX1152`` 0x055 ``gfx1152``
17191726
==================================== ========== =============================
17201727

17211728
Sections

llvm/include/llvm/BinaryFormat/ELF.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -789,11 +789,12 @@ enum : unsigned {
789789
EF_AMDGPU_MACH_AMDGCN_GFX1201 = 0x04e,
790790
EF_AMDGPU_MACH_AMDGCN_RESERVED_0X4F = 0x04f,
791791
EF_AMDGPU_MACH_AMDGCN_RESERVED_0X50 = 0x050,
792+
EF_AMDGPU_MACH_AMDGCN_GFX1152 = 0x055,
792793
// clang-format on
793794

794795
// First/last AMDGCN-based processors.
795796
EF_AMDGPU_MACH_AMDGCN_FIRST = EF_AMDGPU_MACH_AMDGCN_GFX600,
796-
EF_AMDGPU_MACH_AMDGCN_LAST = EF_AMDGPU_MACH_AMDGCN_GFX1201,
797+
EF_AMDGPU_MACH_AMDGCN_LAST = EF_AMDGPU_MACH_AMDGCN_GFX1152,
797798

798799
// Indicates if the "xnack" target feature is enabled for all code contained
799800
// in the object.

llvm/include/llvm/TargetParser/TargetParser.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ enum GPUKind : uint32_t {
105105
GK_GFX1103 = 93,
106106
GK_GFX1150 = 94,
107107
GK_GFX1151 = 95,
108+
GK_GFX1152 = 96,
108109

109110
GK_GFX1200 = 100,
110111
GK_GFX1201 = 101,

llvm/lib/Object/ELFObjectFile.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,8 @@ StringRef ELFObjectFileBase::getAMDGPUCPUName() const {
508508
return "gfx1150";
509509
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1151:
510510
return "gfx1151";
511+
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1152:
512+
return "gfx1152";
511513

512514
// AMDGCN GFX12.
513515
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1200:

llvm/lib/ObjectYAML/ELFYAML.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,7 @@ void ScalarBitSetTraits<ELFYAML::ELF_EF>::bitset(IO &IO,
610610
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX1103, EF_AMDGPU_MACH);
611611
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX1150, EF_AMDGPU_MACH);
612612
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX1151, EF_AMDGPU_MACH);
613+
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX1152, EF_AMDGPU_MACH);
613614
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX1200, EF_AMDGPU_MACH);
614615
BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX1201, EF_AMDGPU_MACH);
615616
switch (Object->Header.ABIVersion) {

llvm/lib/Target/AMDGPU/AMDGPU.td

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1505,6 +1505,12 @@ def FeatureISAVersion11_5_1 : FeatureSet<
15051505
FeatureVGPRSingleUseHintInsts,
15061506
FeatureGFX11FullVGPRs])>;
15071507

1508+
def FeatureISAVersion11_5_2 : FeatureSet<
1509+
!listconcat(FeatureISAVersion11_Common.Features,
1510+
[FeatureSALUFloatInsts,
1511+
FeatureDPPSrc1SGPR,
1512+
FeatureVGPRSingleUseHintInsts])>;
1513+
15081514
def FeatureISAVersion12 : FeatureSet<
15091515
[FeatureGFX12,
15101516
FeatureLDSBankCount32,

llvm/lib/Target/AMDGPU/GCNProcessors.td

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,10 @@ def : ProcessorModel<"gfx1151", GFX11SpeedModel,
280280
FeatureISAVersion11_5_1.Features
281281
>;
282282

283+
def : ProcessorModel<"gfx1152", GFX11SpeedModel,
284+
FeatureISAVersion11_5_2.Features
285+
>;
286+
283287
//===----------------------------------------------------------------------===//
284288
// GCN GFX12.
285289
//===----------------------------------------------------------------------===//

llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ StringRef AMDGPUTargetStreamer::getArchNameFromElfMach(unsigned ElfMach) {
126126
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1103: AK = GK_GFX1103; break;
127127
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1150: AK = GK_GFX1150; break;
128128
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1151: AK = GK_GFX1151; break;
129+
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1152: AK = GK_GFX1152; break;
129130
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1200: AK = GK_GFX1200; break;
130131
case ELF::EF_AMDGPU_MACH_AMDGCN_GFX1201: AK = GK_GFX1201; break;
131132
case ELF::EF_AMDGPU_MACH_NONE: AK = GK_NONE; break;
@@ -204,6 +205,7 @@ unsigned AMDGPUTargetStreamer::getElfMach(StringRef GPU) {
204205
case GK_GFX1103: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX1103;
205206
case GK_GFX1150: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX1150;
206207
case GK_GFX1151: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX1151;
208+
case GK_GFX1152: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX1152;
207209
case GK_GFX1200: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX1200;
208210
case GK_GFX1201: return ELF::EF_AMDGPU_MACH_AMDGCN_GFX1201;
209211
case GK_NONE: return ELF::EF_AMDGPU_MACH_NONE;

llvm/lib/TargetParser/TargetParser.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ constexpr GPUInfo AMDGCNGPUs[] = {
124124
{{"gfx1103"}, {"gfx1103"}, GK_GFX1103, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_WAVE32|FEATURE_WGP},
125125
{{"gfx1150"}, {"gfx1150"}, GK_GFX1150, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_WAVE32|FEATURE_WGP},
126126
{{"gfx1151"}, {"gfx1151"}, GK_GFX1151, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_WAVE32|FEATURE_WGP},
127+
{{"gfx1152"}, {"gfx1152"}, GK_GFX1152, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_WAVE32|FEATURE_WGP},
127128
{{"gfx1200"}, {"gfx1200"}, GK_GFX1200, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_WAVE32|FEATURE_WGP},
128129
{{"gfx1201"}, {"gfx1201"}, GK_GFX1201, FEATURE_FAST_FMA_F32|FEATURE_FAST_DENORMAL_F32|FEATURE_WAVE32|FEATURE_WGP},
129130
// clang-format on
@@ -251,6 +252,7 @@ AMDGPU::IsaVersion AMDGPU::getIsaVersion(StringRef GPU) {
251252
case GK_GFX1103: return {11, 0, 3};
252253
case GK_GFX1150: return {11, 5, 0};
253254
case GK_GFX1151: return {11, 5, 1};
255+
case GK_GFX1152: return {11, 5, 2};
254256
case GK_GFX1200: return {12, 0, 0};
255257
case GK_GFX1201: return {12, 0, 1};
256258
default: return {0, 0, 0};
@@ -297,6 +299,7 @@ void AMDGPU::fillAMDGPUFeatureMap(StringRef GPU, const Triple &T,
297299
Features["image-insts"] = true;
298300
Features["fp8-conversion-insts"] = true;
299301
break;
302+
case GK_GFX1152:
300303
case GK_GFX1151:
301304
case GK_GFX1150:
302305
case GK_GFX1103:
@@ -494,6 +497,7 @@ static bool isWave32Capable(StringRef GPU, const Triple &T) {
494497
switch (parseArchAMDGCN(GPU)) {
495498
case GK_GFX1201:
496499
case GK_GFX1200:
500+
case GK_GFX1152:
497501
case GK_GFX1151:
498502
case GK_GFX1150:
499503
case GK_GFX1103:

llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@
105105
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1103 < %s | FileCheck --check-prefixes=GFX1103 %s
106106
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1150 < %s | FileCheck --check-prefixes=GFX1150 %s
107107
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1151 < %s | FileCheck --check-prefixes=GFX1151 %s
108+
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1152 < %s | FileCheck --check-prefixes=GFX1152 %s
108109
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1200 < %s | FileCheck --check-prefixes=GFX1200 %s
109110
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1201 < %s | FileCheck --check-prefixes=GFX1201 %s
110111

@@ -193,6 +194,7 @@
193194
; GFX1103: .amdgcn_target "amdgcn-amd-amdhsa--gfx1103"
194195
; GFX1150: .amdgcn_target "amdgcn-amd-amdhsa--gfx1150"
195196
; GFX1151: .amdgcn_target "amdgcn-amd-amdhsa--gfx1151"
197+
; GFX1152: .amdgcn_target "amdgcn-amd-amdhsa--gfx1152"
196198
; GFX1200: .amdgcn_target "amdgcn-amd-amdhsa--gfx1200"
197199
; GFX1201: .amdgcn_target "amdgcn-amd-amdhsa--gfx1201"
198200

0 commit comments

Comments
 (0)