[committed,amdgcn] Remove gfx801 "carrizo" support

Message ID c2e748cd-a0b2-2b58-0c55-6a265c7d5815@codesourcery.com
State New
Headers show
Series
  • [committed,amdgcn] Remove gfx801 "carrizo" support
Related show

Commit Message

Andrew Stubbs Feb. 3, 2020, 5:34 p.m.
This patch removes the -march=carrizo option and all the gfx801 related 
bits.

The Carrizo options were inherited from the original GCN port, but 
they've not been tested since (we don't have the hardware), and there's 
no XNACK handling, so it probably wouldn't work reliably. Additionally, 
libgomp is configured for discrete GPUs with independent memory; Carrizo 
would prefer shared memory.

Since this will be the first GCC release with GCN offloading there are 
no backward compatibility issues to consider (even if it weren't broken).

The option can be added back if and when somebody volunteers to fix and 
maintain it.

Andrew

Patch

Remove gfx801 "carrizo" support

2020-02-03  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config.gcc: Remove "carrizo" support.
	* config/gcn/gcn-opts.h (processor_type): Likewise.
	* config/gcn/gcn.c (gcn_omp_device_kind_arch_isa): Likewise.
	* config/gcn/gcn.opt (gpu_type): Likewise.
	* config/gcn/t-omp-device: Likewise.

	libgomp/
	* plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
	(gcn_gfx801_s): Remove.
	(isa_hsa_name): Remove gfx801.
	(isa_gcc_name): Remove gfx801/carizzo.
	(isa_code): Remove gfx801.

diff --git a/gcc/config.gcc b/gcc/config.gcc
index 5532a7be6ac..ae5a845fcce 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -4404,7 +4404,7 @@  case "${target}" in
 		for which in arch tune; do
 			eval "val=\$with_$which"
 			case ${val} in
-			"" | carrizo | fiji | gfx900 | gfx906 )
+			"" | fiji | gfx900 | gfx906 )
 				# OK
 				;;
 			*)
diff --git a/gcc/config/gcn/gcn-opts.h b/gcc/config/gcn/gcn-opts.h
index aac06e3484e..385d2be8675 100644
--- a/gcc/config/gcn/gcn-opts.h
+++ b/gcc/config/gcn/gcn-opts.h
@@ -20,7 +20,6 @@ 
 /* Which processor to generate code or schedule for.  */
 enum processor_type
 {
-  PROCESSOR_CARRIZO,
   PROCESSOR_FIJI,
   PROCESSOR_VEGA
 };
diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c
index 16c3aa2567e..5bcad7d1d41 100644
--- a/gcc/config/gcn/gcn.c
+++ b/gcc/config/gcn/gcn.c
@@ -2571,8 +2571,6 @@  gcn_omp_device_kind_arch_isa (enum omp_device_kind_arch_isa trait,
     case omp_device_arch:
       return strcmp (name, "gcn") == 0;
     case omp_device_isa:
-      if (strcmp (name, "carrizo") == 0)
-	return gcn_arch == PROCESSOR_CARRIZO;
       if (strcmp (name, "fiji") == 0)
 	return gcn_arch == PROCESSOR_FIJI;
       if (strcmp (name, "gfx900") == 0)
diff --git a/gcc/config/gcn/gcn.opt b/gcc/config/gcn/gcn.opt
index 3b3d441ded9..04c73d64630 100644
--- a/gcc/config/gcn/gcn.opt
+++ b/gcc/config/gcn/gcn.opt
@@ -25,9 +25,6 @@  Enum
 Name(gpu_type) Type(enum processor_type)
 GCN GPU type to use:
 
-EnumValue
-Enum(gpu_type) String(carrizo) Value(PROCESSOR_CARRIZO)
-
 EnumValue
 Enum(gpu_type) String(fiji) Value(PROCESSOR_FIJI)
 
@@ -38,11 +35,11 @@  EnumValue
 Enum(gpu_type) String(gfx906) Value(PROCESSOR_VEGA)
 
 march=
-Target RejectNegative Joined ToLower Enum(gpu_type) Var(gcn_arch) Init(PROCESSOR_CARRIZO)
+Target RejectNegative Joined ToLower Enum(gpu_type) Var(gcn_arch) Init(PROCESSOR_FIJI)
 Specify the name of the target GPU.
 
 mtune=
-Target RejectNegative Joined ToLower Enum(gpu_type) Var(gcn_tune) Init(PROCESSOR_CARRIZO)
+Target RejectNegative Joined ToLower Enum(gpu_type) Var(gcn_tune) Init(PROCESSOR_FIJI)
 Specify the name of the target GPU.
 
 m32
diff --git a/gcc/config/gcn/t-omp-device b/gcc/config/gcn/t-omp-device
index 288f7f065cb..d9809d5f455 100644
--- a/gcc/config/gcn/t-omp-device
+++ b/gcc/config/gcn/t-omp-device
@@ -1,4 +1,4 @@ 
 omp-device-properties-gcn: $(srcdir)/config/gcn/gcn.c
 	echo kind: gpu > $@
 	echo arch: gcn >> $@
-	echo isa: carrizo fiji gfx900 gfx906 >> $@
+	echo isa: fiji gfx900 gfx906 >> $@
diff --git a/libgomp/plugin/plugin-gcn.c b/libgomp/plugin/plugin-gcn.c
index 25547ef12e8..dc72c90962c 100644
--- a/libgomp/plugin/plugin-gcn.c
+++ b/libgomp/plugin/plugin-gcn.c
@@ -403,7 +403,6 @@  struct gcn_image_desc
    See https://llvm.org/docs/AMDGPUUsage.html#amdgpu-ef-amdgpu-mach-table */
 
 typedef enum {
-  EF_AMDGPU_MACH_AMDGCN_GFX801 = 0x028,
   EF_AMDGPU_MACH_AMDGCN_GFX803 = 0x02a,
   EF_AMDGPU_MACH_AMDGCN_GFX900 = 0x02c,
   EF_AMDGPU_MACH_AMDGCN_GFX906 = 0x02f,
@@ -1629,7 +1628,6 @@  elf_gcn_isa_field (Elf64_Ehdr *image)
   return image->e_flags & EF_AMDGPU_MACH_MASK;
 }
 
-const static char *gcn_gfx801_s = "gfx801";
 const static char *gcn_gfx803_s = "gfx803";
 const static char *gcn_gfx900_s = "gfx900";
 const static char *gcn_gfx906_s = "gfx906";
@@ -1642,8 +1640,6 @@  static const char*
 isa_hsa_name (int isa) {
   switch(isa)
     {
-    case EF_AMDGPU_MACH_AMDGCN_GFX801:
-      return gcn_gfx801_s;
     case EF_AMDGPU_MACH_AMDGCN_GFX803:
       return gcn_gfx803_s;
     case EF_AMDGPU_MACH_AMDGCN_GFX900:
@@ -1662,8 +1658,6 @@  static const char*
 isa_gcc_name (int isa) {
   switch(isa)
     {
-    case EF_AMDGPU_MACH_AMDGCN_GFX801:
-      return "carrizo";
     case EF_AMDGPU_MACH_AMDGCN_GFX803:
       return "fiji";
     default:
@@ -1676,9 +1670,6 @@  isa_gcc_name (int isa) {
 
 static gcn_isa
 isa_code(const char *isa) {
-  if (!strncmp (isa, gcn_gfx801_s, gcn_isa_name_len))
-    return EF_AMDGPU_MACH_AMDGCN_GFX801;
-
   if (!strncmp (isa, gcn_gfx803_s, gcn_isa_name_len))
     return EF_AMDGPU_MACH_AMDGCN_GFX803;