[binutils-gdb] Update list of supported AMDGPU architectures
Simon Marchi
simark@sourceware.org
Fri May 8 12:28:10 GMT 2026
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f48d94eab1447c83bee92f3f232f92378c3439b7
commit f48d94eab1447c83bee92f3f232f92378c3439b7
Author: Lancelot Six <lancelot.six@amd.com>
Date: Fri Oct 31 17:54:09 2025 +0000
Update list of supported AMDGPU architectures
This patch updates the list of supported AMDGPU architectures in bfd/
binutils/ and include/elf/.
The following architectures have been added:
- gfx942
- gfx950
- gfx1150
- gfx1151
- gfx1152
- gfx1153
- gfx1200
- gfx1201
- gfx1250
The canonical source for these numbers is:
https://llvm.org/docs/AMDGPUUsage.html#amdgpu-ef-amdgpu-mach-table
Co-Authored-By: Laurent Morichetti <laurent.morichetti@amd.com>
Co-Authored-By: Simon Marchi <simon.marchi@efficios.com>
Co-Authored-By: Olu Ogunbowale <oogunbow@amd.com>
Co-Authored-By: Shahab Vahedi <shahab.vahedi@amd.com>
Co-Authored-By: Anurag Kumar <AnuragKumar.Vulisha@amd.com>
Change-Id: I80e76c8ec98b725937fe445883fae707097ec2b7
Diff:
---
bfd/archures.c | 37 +++++++++++++++++++++++--------------
bfd/bfd-in2.h | 39 ++++++++++++++++++++++++---------------
bfd/cpu-amdgcn.c | 27 ++++++++++++++++++---------
binutils/readelf.c | 9 +++++++++
include/elf/amdgpu.h | 9 +++++++++
5 files changed, 83 insertions(+), 38 deletions(-)
diff --git a/bfd/archures.c b/bfd/archures.c
index 34c832bcdd1..5d5abdb30e7 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -560,20 +560,29 @@ DESCRIPTION
.#define bfd_mach_loongarch64 2
. bfd_arch_amdgcn, {* AMDGCN *}
.#define bfd_mach_amdgcn_unknown 0x000
-.#define bfd_mach_amdgcn_gfx900 0x02c
-.#define bfd_mach_amdgcn_gfx904 0x02e
-.#define bfd_mach_amdgcn_gfx906 0x02f
-.#define bfd_mach_amdgcn_gfx908 0x030
-.#define bfd_mach_amdgcn_gfx90a 0x03f
-.#define bfd_mach_amdgcn_gfx1010 0x033
-.#define bfd_mach_amdgcn_gfx1011 0x034
-.#define bfd_mach_amdgcn_gfx1012 0x035
-.#define bfd_mach_amdgcn_gfx1030 0x036
-.#define bfd_mach_amdgcn_gfx1031 0x037
-.#define bfd_mach_amdgcn_gfx1032 0x038
-.#define bfd_mach_amdgcn_gfx1100 0x041
-.#define bfd_mach_amdgcn_gfx1101 0x046
-.#define bfd_mach_amdgcn_gfx1102 0x047
+.#define bfd_mach_amdgcn_gfx900 0x02c
+.#define bfd_mach_amdgcn_gfx904 0x02e
+.#define bfd_mach_amdgcn_gfx906 0x02f
+.#define bfd_mach_amdgcn_gfx908 0x030
+.#define bfd_mach_amdgcn_gfx90a 0x03f
+.#define bfd_mach_amdgcn_gfx942 0x04c
+.#define bfd_mach_amdgcn_gfx950 0x04f
+.#define bfd_mach_amdgcn_gfx1010 0x033
+.#define bfd_mach_amdgcn_gfx1011 0x034
+.#define bfd_mach_amdgcn_gfx1012 0x035
+.#define bfd_mach_amdgcn_gfx1030 0x036
+.#define bfd_mach_amdgcn_gfx1031 0x037
+.#define bfd_mach_amdgcn_gfx1032 0x038
+.#define bfd_mach_amdgcn_gfx1100 0x041
+.#define bfd_mach_amdgcn_gfx1101 0x046
+.#define bfd_mach_amdgcn_gfx1102 0x047
+.#define bfd_mach_amdgcn_gfx1150 0x043
+.#define bfd_mach_amdgcn_gfx1151 0x04a
+.#define bfd_mach_amdgcn_gfx1152 0x055
+.#define bfd_mach_amdgcn_gfx1153 0x058
+.#define bfd_mach_amdgcn_gfx1200 0x048
+.#define bfd_mach_amdgcn_gfx1201 0x04e
+.#define bfd_mach_amdgcn_gfx1250 0x049
. bfd_arch_last
. };
*/
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index c3257e2a7e4..066aea12bbf 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1803,21 +1803,30 @@ enum bfd_architecture
#define bfd_mach_loongarch32 1
#define bfd_mach_loongarch64 2
bfd_arch_amdgcn, /* AMDGCN */
-#define bfd_mach_amdgcn_unknown 0x000
-#define bfd_mach_amdgcn_gfx900 0x02c
-#define bfd_mach_amdgcn_gfx904 0x02e
-#define bfd_mach_amdgcn_gfx906 0x02f
-#define bfd_mach_amdgcn_gfx908 0x030
-#define bfd_mach_amdgcn_gfx90a 0x03f
-#define bfd_mach_amdgcn_gfx1010 0x033
-#define bfd_mach_amdgcn_gfx1011 0x034
-#define bfd_mach_amdgcn_gfx1012 0x035
-#define bfd_mach_amdgcn_gfx1030 0x036
-#define bfd_mach_amdgcn_gfx1031 0x037
-#define bfd_mach_amdgcn_gfx1032 0x038
-#define bfd_mach_amdgcn_gfx1100 0x041
-#define bfd_mach_amdgcn_gfx1101 0x046
-#define bfd_mach_amdgcn_gfx1102 0x047
+#define bfd_mach_amdgcn_unknown 0x000
+#define bfd_mach_amdgcn_gfx900 0x02c
+#define bfd_mach_amdgcn_gfx904 0x02e
+#define bfd_mach_amdgcn_gfx906 0x02f
+#define bfd_mach_amdgcn_gfx908 0x030
+#define bfd_mach_amdgcn_gfx90a 0x03f
+#define bfd_mach_amdgcn_gfx942 0x04c
+#define bfd_mach_amdgcn_gfx950 0x04f
+#define bfd_mach_amdgcn_gfx1010 0x033
+#define bfd_mach_amdgcn_gfx1011 0x034
+#define bfd_mach_amdgcn_gfx1012 0x035
+#define bfd_mach_amdgcn_gfx1030 0x036
+#define bfd_mach_amdgcn_gfx1031 0x037
+#define bfd_mach_amdgcn_gfx1032 0x038
+#define bfd_mach_amdgcn_gfx1100 0x041
+#define bfd_mach_amdgcn_gfx1101 0x046
+#define bfd_mach_amdgcn_gfx1102 0x047
+#define bfd_mach_amdgcn_gfx1150 0x043
+#define bfd_mach_amdgcn_gfx1151 0x04a
+#define bfd_mach_amdgcn_gfx1152 0x055
+#define bfd_mach_amdgcn_gfx1153 0x058
+#define bfd_mach_amdgcn_gfx1200 0x048
+#define bfd_mach_amdgcn_gfx1201 0x04e
+#define bfd_mach_amdgcn_gfx1250 0x049
bfd_arch_last
};
diff --git a/bfd/cpu-amdgcn.c b/bfd/cpu-amdgcn.c
index d2a0f69a4fc..527a3b9c6d1 100644
--- a/bfd/cpu-amdgcn.c
+++ b/bfd/cpu-amdgcn.c
@@ -47,15 +47,24 @@ static const bfd_arch_info_type arch_info_struct[] =
N (bfd_mach_amdgcn_gfx906, "amdgcn:gfx906", false, NN (2)),
N (bfd_mach_amdgcn_gfx908, "amdgcn:gfx908", false, NN (3)),
N (bfd_mach_amdgcn_gfx90a, "amdgcn:gfx90a", false, NN (4)),
- N (bfd_mach_amdgcn_gfx1010, "amdgcn:gfx1010", false, NN (5)),
- N (bfd_mach_amdgcn_gfx1011, "amdgcn:gfx1011", false, NN (6)),
- N (bfd_mach_amdgcn_gfx1012, "amdgcn:gfx1012", false, NN (7)),
- N (bfd_mach_amdgcn_gfx1030, "amdgcn:gfx1030", false, NN (8)),
- N (bfd_mach_amdgcn_gfx1031, "amdgcn:gfx1031", false, NN (9)),
- N (bfd_mach_amdgcn_gfx1032, "amdgcn:gfx1032", false, NN (10)),
- N (bfd_mach_amdgcn_gfx1100, "amdgcn:gfx1100", false, NN (11)),
- N (bfd_mach_amdgcn_gfx1101, "amdgcn:gfx1101", false, NN (12)),
- N (bfd_mach_amdgcn_gfx1102, "amdgcn:gfx1102", false, NULL)
+ N (bfd_mach_amdgcn_gfx942, "amdgcn:gfx942", false, NN (5)),
+ N (bfd_mach_amdgcn_gfx950, "amdgcn:gfx950", false, NN (6)),
+ N (bfd_mach_amdgcn_gfx1010, "amdgcn:gfx1010", false, NN (7)),
+ N (bfd_mach_amdgcn_gfx1011, "amdgcn:gfx1011", false, NN (8)),
+ N (bfd_mach_amdgcn_gfx1012, "amdgcn:gfx1012", false, NN (9)),
+ N (bfd_mach_amdgcn_gfx1030, "amdgcn:gfx1030", false, NN (10)),
+ N (bfd_mach_amdgcn_gfx1031, "amdgcn:gfx1031", false, NN (11)),
+ N (bfd_mach_amdgcn_gfx1032, "amdgcn:gfx1032", false, NN (12)),
+ N (bfd_mach_amdgcn_gfx1100, "amdgcn:gfx1100", false, NN (13)),
+ N (bfd_mach_amdgcn_gfx1101, "amdgcn:gfx1101", false, NN (14)),
+ N (bfd_mach_amdgcn_gfx1102, "amdgcn:gfx1102", false, NN (15)),
+ N (bfd_mach_amdgcn_gfx1150, "amdgcn:gfx1150", false, NN (16)),
+ N (bfd_mach_amdgcn_gfx1151, "amdgcn:gfx1151", false, NN (17)),
+ N (bfd_mach_amdgcn_gfx1152, "amdgcn:gfx1152", false, NN (18)),
+ N (bfd_mach_amdgcn_gfx1153, "amdgcn:gfx1153", false, NN (19)),
+ N (bfd_mach_amdgcn_gfx1200, "amdgcn:gfx1200", false, NN (20)),
+ N (bfd_mach_amdgcn_gfx1201, "amdgcn:gfx1201", false, NN (21)),
+ N (bfd_mach_amdgcn_gfx1250, "amdgcn:gfx1250", false, NULL),
};
const bfd_arch_info_type bfd_amdgcn_arch =
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 7b2c1c9ae88..73370f3cd16 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -5302,6 +5302,13 @@ decode_AMDGPU_machine_flags (char *out, unsigned int e_flags, Filedata *filedata
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1100, "gfx1100")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1101, "gfx1101")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1102, "gfx1102")
+ AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1150, "gfx1150")
+ AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1151, "gfx1151")
+ AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1152, "gfx1152")
+ AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1153, "gfx1153")
+ AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1200, "gfx1200")
+ AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1201, "gfx1201")
+ AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1250, "gfx1250")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX602, "gfx602")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX705, "gfx705")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX805, "gfx805")
@@ -5309,6 +5316,8 @@ decode_AMDGPU_machine_flags (char *out, unsigned int e_flags, Filedata *filedata
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1034, "gfx1034")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX90A, "gfx90a")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX940, "gfx940")
+ AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX942, "gfx942")
+ AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX950, "gfx950")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1013, "gfx1013")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1036, "gfx1036")
default:
diff --git a/include/elf/amdgpu.h b/include/elf/amdgpu.h
index 5bf6019c840..f95404b7261 100644
--- a/include/elf/amdgpu.h
+++ b/include/elf/amdgpu.h
@@ -72,6 +72,15 @@
#define EF_AMDGPU_MACH_AMDGCN_GFX1036 0x045
#define EF_AMDGPU_MACH_AMDGCN_GFX1101 0x046
#define EF_AMDGPU_MACH_AMDGCN_GFX1102 0x047
+#define EF_AMDGPU_MACH_AMDGCN_GFX1150 0x043
+#define EF_AMDGPU_MACH_AMDGCN_GFX1151 0x04a
+#define EF_AMDGPU_MACH_AMDGCN_GFX1152 0x055
+#define EF_AMDGPU_MACH_AMDGCN_GFX1153 0x058
+#define EF_AMDGPU_MACH_AMDGCN_GFX1200 0x048
+#define EF_AMDGPU_MACH_AMDGCN_GFX1250 0x049
+#define EF_AMDGPU_MACH_AMDGCN_GFX942 0x04c
+#define EF_AMDGPU_MACH_AMDGCN_GFX1201 0x04e
+#define EF_AMDGPU_MACH_AMDGCN_GFX950 0x04f
/* Code object v3 machine flags. */
More information about the Binutils-cvs
mailing list