Add AMDGPU generic targets Add the following generic AMDGPU architectures: - gfx9-generic - gfx9-4-generic - gfx10-1-generic - gfx10-3-generic - gfx11-generic - gfx12-generic - gfx12-5-generic Change-Id: Ibf600d7c70ba8499f8ef75d8d57a71929f1cd4d4 Co-Authored-By: Simon Marchi <simon.marchi@efficios.com>
diff --git a/bfd/archures.c b/bfd/archures.c index 5d5abdb..8cfc81e 100644 --- a/bfd/archures.c +++ b/bfd/archures.c
@@ -560,19 +560,24 @@ .#define bfd_mach_loongarch64 2 . bfd_arch_amdgcn, {* AMDGCN *} .#define bfd_mach_amdgcn_unknown 0x000 +.#define bfd_mach_amdgcn_gfx9_generic 0x051 .#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_gfx9_4_generic 0x05f .#define bfd_mach_amdgcn_gfx942 0x04c .#define bfd_mach_amdgcn_gfx950 0x04f +.#define bfd_mach_amdgcn_gfx10_1_generic 0x052 .#define bfd_mach_amdgcn_gfx1010 0x033 .#define bfd_mach_amdgcn_gfx1011 0x034 .#define bfd_mach_amdgcn_gfx1012 0x035 +.#define bfd_mach_amdgcn_gfx10_3_generic 0x053 .#define bfd_mach_amdgcn_gfx1030 0x036 .#define bfd_mach_amdgcn_gfx1031 0x037 .#define bfd_mach_amdgcn_gfx1032 0x038 +.#define bfd_mach_amdgcn_gfx11_generic 0x054 .#define bfd_mach_amdgcn_gfx1100 0x041 .#define bfd_mach_amdgcn_gfx1101 0x046 .#define bfd_mach_amdgcn_gfx1102 0x047 @@ -580,8 +585,10 @@ .#define bfd_mach_amdgcn_gfx1151 0x04a .#define bfd_mach_amdgcn_gfx1152 0x055 .#define bfd_mach_amdgcn_gfx1153 0x058 +.#define bfd_mach_amdgcn_gfx12_generic 0x059 .#define bfd_mach_amdgcn_gfx1200 0x048 .#define bfd_mach_amdgcn_gfx1201 0x04e +.#define bfd_mach_amdgcn_gfx12_5_generic 0x05b .#define bfd_mach_amdgcn_gfx1250 0x049 . bfd_arch_last . };
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 066aea1..54d2e74 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h
@@ -1804,19 +1804,24 @@ #define bfd_mach_loongarch64 2 bfd_arch_amdgcn, /* AMDGCN */ #define bfd_mach_amdgcn_unknown 0x000 +#define bfd_mach_amdgcn_gfx9_generic 0x051 #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_gfx9_4_generic 0x05f #define bfd_mach_amdgcn_gfx942 0x04c #define bfd_mach_amdgcn_gfx950 0x04f +#define bfd_mach_amdgcn_gfx10_1_generic 0x052 #define bfd_mach_amdgcn_gfx1010 0x033 #define bfd_mach_amdgcn_gfx1011 0x034 #define bfd_mach_amdgcn_gfx1012 0x035 +#define bfd_mach_amdgcn_gfx10_3_generic 0x053 #define bfd_mach_amdgcn_gfx1030 0x036 #define bfd_mach_amdgcn_gfx1031 0x037 #define bfd_mach_amdgcn_gfx1032 0x038 +#define bfd_mach_amdgcn_gfx11_generic 0x054 #define bfd_mach_amdgcn_gfx1100 0x041 #define bfd_mach_amdgcn_gfx1101 0x046 #define bfd_mach_amdgcn_gfx1102 0x047 @@ -1824,8 +1829,10 @@ #define bfd_mach_amdgcn_gfx1151 0x04a #define bfd_mach_amdgcn_gfx1152 0x055 #define bfd_mach_amdgcn_gfx1153 0x058 +#define bfd_mach_amdgcn_gfx12_generic 0x059 #define bfd_mach_amdgcn_gfx1200 0x048 #define bfd_mach_amdgcn_gfx1201 0x04e +#define bfd_mach_amdgcn_gfx12_5_generic 0x05b #define bfd_mach_amdgcn_gfx1250 0x049 bfd_arch_last };
diff --git a/bfd/cpu-amdgcn.c b/bfd/cpu-amdgcn.c index 527a3b9..a1c691a 100644 --- a/bfd/cpu-amdgcn.c +++ b/bfd/cpu-amdgcn.c
@@ -64,7 +64,14 @@ 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), + N (bfd_mach_amdgcn_gfx1250, "amdgcn:gfx1250", false, NN (22)), + N (bfd_mach_amdgcn_gfx9_generic, "amdgcn:gfx9-generic", false, NN (23)), + N (bfd_mach_amdgcn_gfx9_4_generic, "amdgcn:gfx9-4-generic", false, NN (24)), + N (bfd_mach_amdgcn_gfx10_1_generic, "amdgcn:gfx10-1-generic", false, NN (25)), + N (bfd_mach_amdgcn_gfx10_3_generic, "amdgcn:gfx10-3-generic", false, NN (26)), + N (bfd_mach_amdgcn_gfx11_generic, "amdgcn:gfx11-generic", false, NN (27)), + N (bfd_mach_amdgcn_gfx12_generic, "amdgcn:gfx12-generic", false, NN (28)), + N (bfd_mach_amdgcn_gfx12_5_generic, "amdgcn:gfx12-5-generic", false, NULL), }; const bfd_arch_info_type bfd_amdgcn_arch =
diff --git a/binutils/readelf.c b/binutils/readelf.c index 73370f3..205adae 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c
@@ -5320,6 +5320,13 @@ AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX950, "gfx950") AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1013, "gfx1013") AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1036, "gfx1036") + AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC, "gfx9-generic") + AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC, "gfx10-1-generic") + AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX10_3_GENERIC, "gfx10-3-generic") + AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX11_GENERIC, "gfx11-generic") + AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC, "gfx9-4-generic") + AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX12_GENERIC, "gfx12-generic") + AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX12_5_GENERIC, "gfx12-5-generic") default: out += sprintf (out, _(", <unknown AMDGPU GPU type: %#x>"), mach); break;
diff --git a/include/elf/amdgpu.h b/include/elf/amdgpu.h index f95404b..f5b974c 100644 --- a/include/elf/amdgpu.h +++ b/include/elf/amdgpu.h
@@ -81,6 +81,13 @@ #define EF_AMDGPU_MACH_AMDGCN_GFX942 0x04c #define EF_AMDGPU_MACH_AMDGCN_GFX1201 0x04e #define EF_AMDGPU_MACH_AMDGCN_GFX950 0x04f +#define EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC 0x051 +#define EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC 0x052 +#define EF_AMDGPU_MACH_AMDGCN_GFX10_3_GENERIC 0x053 +#define EF_AMDGPU_MACH_AMDGCN_GFX11_GENERIC 0x054 +#define EF_AMDGPU_MACH_AMDGCN_GFX12_GENERIC 0x059 +#define EF_AMDGPU_MACH_AMDGCN_GFX12_5_GENERIC 0x05b +#define EF_AMDGPU_MACH_AMDGCN_GFX9_4_GENERIC 0x05f /* Code object v3 machine flags. */