[v2,1/4] Update list of supported AMDGPU architectures

Message ID 20260507194615.943267-2-simon.marchi@efficios.com
State New
Headers
Series Add support for new AMDGPU architectures |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-arm fail Patch failed to apply
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 fail Patch failed to apply

Commit Message

Simon Marchi May 7, 2026, 7:43 p.m. UTC
  From: Lancelot Six <lancelot.six@amd.com>

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 following architectures have been removed:

- gfx940: The compiler no longer supports it.

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
---
 bfd/archures.c       | 37 +++++++++++++++++++++++--------------
 bfd/bfd-in2.h        | 39 ++++++++++++++++++++++++---------------
 bfd/cpu-amdgcn.c     | 27 ++++++++++++++++++---------
 binutils/readelf.c   | 10 +++++++++-
 include/elf/amdgpu.h | 10 +++++++++-
 5 files changed, 83 insertions(+), 40 deletions(-)
  

Comments

Jan Beulich May 8, 2026, 8:18 a.m. UTC | #1
On 07.05.2026 21:43, Simon Marchi wrote:
> From: Lancelot Six <lancelot.six@amd.com>
> 
> 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 following architectures have been removed:
> 
> - gfx940: The compiler no longer supports it.

Is this a good idea? What's wrong with readelf still recognizing it?

Jan
  
Lancelot SIX May 8, 2026, 9:59 a.m. UTC | #2
On 08/05/2026 09:18, Jan Beulich wrote:
> [You don't often get email from jbeulich@suse.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
> 
> 
> On 07.05.2026 21:43, Simon Marchi wrote:
>> From: Lancelot Six <lancelot.six@amd.com>
>>
>> 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 following architectures have been removed:
>>
>> - gfx940: The compiler no longer supports it.
> 
> Is this a good idea? What's wrong with readelf still recognizing it?
> 
> Jan

I would not mind keeping it, but I really don't expect anyone will ever 
encounter such binaries in the wild.

The Reference page for this[1] lists 0x040 as "Reserved", so if we want 
to keep binutils/readelf in sync with it, I'd be for removing this entry.

If you prefer to keep it, that is fine by me.

Best,
Lancelot.

[1] https://llvm.org/docs/AMDGPUUsage.html#amdgpu-ef-amdgpu-mach-table
  
Jan Beulich May 8, 2026, 10:02 a.m. UTC | #3
On 08.05.2026 11:59, Lancelot SIX wrote:
> 
> 
> On 08/05/2026 09:18, Jan Beulich wrote:
>> [You don't often get email from jbeulich@suse.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>>
>> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>>
>>
>> On 07.05.2026 21:43, Simon Marchi wrote:
>>> From: Lancelot Six <lancelot.six@amd.com>
>>>
>>> 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 following architectures have been removed:
>>>
>>> - gfx940: The compiler no longer supports it.

If this was saying "The compiler never supported it", ...

>> Is this a good idea? What's wrong with readelf still recognizing it?
>>
>> Jan
> 
> I would not mind keeping it, but I really don't expect anyone will ever 
> encounter such binaries in the wild.

... I could follow you here. Can this be clarified, please?

Jan

> The Reference page for this[1] lists 0x040 as "Reserved", so if we want 
> to keep binutils/readelf in sync with it, I'd be for removing this entry.
> 
> If you prefer to keep it, that is fine by me.
> 
> Best,
> Lancelot.
> 
> [1] https://llvm.org/docs/AMDGPUUsage.html#amdgpu-ef-amdgpu-mach-table
  
Lancelot SIX May 8, 2026, 10:17 a.m. UTC | #4
On 08/05/2026 11:02, Jan Beulich wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
> 
> 
> On 08.05.2026 11:59, Lancelot SIX wrote:
>>
>>
>> On 08/05/2026 09:18, Jan Beulich wrote:
>>> [You don't often get email from jbeulich@suse.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>>>
>>> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>>>
>>>
>>> On 07.05.2026 21:43, Simon Marchi wrote:
>>>> From: Lancelot Six <lancelot.six@amd.com>
>>>>
>>>> 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 following architectures have been removed:
>>>>
>>>> - gfx940: The compiler no longer supports it.
> 
> If this was saying "The compiler never supported it", ...
> 
>>> Is this a good idea? What's wrong with readelf still recognizing it?
>>>
>>> Jan
>>
>> I would not mind keeping it, but I really don't expect anyone will ever
>> encounter such binaries in the wild.
> 
> ... I could follow you here. Can this be clarified, please?

The LLVM compiler did support it at some point.  As far as I can see, 
this support was removed in 8615f9aaffd4337a33ea979f010c4d6410ba6125. 
So using LLVM from just before this point can produce such binary.

I am not aware of any device where gfx940 would be used, but yes, it is 
possible to produce the binary if with to.

As I said, I am happy to keep this in.

Best,
Lancelot.

> 
> Jan
> 
>> The Reference page for this[1] lists 0x040 as "Reserved", so if we want
>> to keep binutils/readelf in sync with it, I'd be for removing this entry.
>>
>> If you prefer to keep it, that is fine by me.
>>
>> Best,
>> Lancelot.
>>
>> [1] https://llvm.org/docs/AMDGPUUsage.html#amdgpu-ef-amdgpu-mach-table
>
  
Jan Beulich May 8, 2026, 10:54 a.m. UTC | #5
On 08.05.2026 12:17, Lancelot SIX wrote:
> 
> 
> On 08/05/2026 11:02, Jan Beulich wrote:
>> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>>
>>
>> On 08.05.2026 11:59, Lancelot SIX wrote:
>>>
>>>
>>> On 08/05/2026 09:18, Jan Beulich wrote:
>>>> [You don't often get email from jbeulich@suse.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>>>>
>>>> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>>>>
>>>>
>>>> On 07.05.2026 21:43, Simon Marchi wrote:
>>>>> From: Lancelot Six <lancelot.six@amd.com>
>>>>>
>>>>> 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 following architectures have been removed:
>>>>>
>>>>> - gfx940: The compiler no longer supports it.
>>
>> If this was saying "The compiler never supported it", ...
>>
>>>> Is this a good idea? What's wrong with readelf still recognizing it?
>>>
>>> I would not mind keeping it, but I really don't expect anyone will ever
>>> encounter such binaries in the wild.
>>
>> ... I could follow you here. Can this be clarified, please?
> 
> The LLVM compiler did support it at some point.  As far as I can see, 
> this support was removed in 8615f9aaffd4337a33ea979f010c4d6410ba6125. 
> So using LLVM from just before this point can produce such binary.
> 
> I am not aware of any device where gfx940 would be used, but yes, it is 
> possible to produce the binary if with to.
> 
> As I said, I am happy to keep this in.

Please do. With it kept the entire series is okay.

Jan
  
Simon Marchi May 8, 2026, 12:25 p.m. UTC | #6
>>
>> The LLVM compiler did support it at some point.  As far as I can see, 
>> this support was removed in 8615f9aaffd4337a33ea979f010c4d6410ba6125. 
>> So using LLVM from just before this point can produce such binary.
>>
>> I am not aware of any device where gfx940 would be used, but yes, it is 
>> possible to produce the binary if with to.
>>
>> As I said, I am happy to keep this in.
> 
> Please do. With it kept the entire series is okay.
> 
> Jan

Thanks, I will push the series with the removal of gfx940 removed.

Simon
  

Patch

diff --git a/bfd/archures.c b/bfd/archures.c
index 34c832bcdd12..5d5abdb30e71 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 c3257e2a7e42..066aea12bbf4 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 d2a0f69a4fc9..527a3b9c6d14 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 7b2c1c9ae88c..b2084df5b818 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -5302,13 +5302,21 @@  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")
     AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1035, "gfx1035")
     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 5bf6019c8408..23ce145a1180 100644
--- a/include/elf/amdgpu.h
+++ b/include/elf/amdgpu.h
@@ -66,12 +66,20 @@ 
 #define EF_AMDGPU_MACH_AMDGCN_GFX1035 0x03d
 #define EF_AMDGPU_MACH_AMDGCN_GFX1034 0x03e
 #define EF_AMDGPU_MACH_AMDGCN_GFX90A  0x03f
-#define EF_AMDGPU_MACH_AMDGCN_GFX940  0x040
 #define EF_AMDGPU_MACH_AMDGCN_GFX1100 0x041
 #define EF_AMDGPU_MACH_AMDGCN_GFX1013 0x042
 #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.  */