69 lines
2.4 KiB
Diff
69 lines
2.4 KiB
Diff
|
From 6de33ed642f119f1e2543095dd56e4a94f97c27f Mon Sep 17 00:00:00 2001
|
||
|
From: Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
Date: Fri, 11 Mar 2022 21:15:18 +0000
|
||
|
Subject: [PATCH 6/6] rs6000: Do not use rs6000_cpu for .machine ppc and ppc64
|
||
|
(PR104829)
|
||
|
|
||
|
Fixes: 77eccbf39ed5
|
||
|
|
||
|
rs6000.h has
|
||
|
#define PROCESSOR_POWERPC PROCESSOR_PPC604
|
||
|
#define PROCESSOR_POWERPC64 PROCESSOR_RS64A
|
||
|
which means that if you use things like -mcpu=powerpc -mvsx it will no
|
||
|
longer work after my latest .machine patch. This causes GCC build errors
|
||
|
in some cases, not a good idea (even if the errors are actually
|
||
|
pre-existing: using -mvsx with a machine that does not have VSX cannot
|
||
|
work properly).
|
||
|
|
||
|
2022-03-11 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
|
||
|
PR target/104829
|
||
|
* config/rs6000/rs6000.c (rs6000_machine_from_flags): Don't output
|
||
|
"ppc" and "ppc64" based on rs6000_cpu.
|
||
|
|
||
|
(cherry picked from commit 80fcc4b6afee72443bef551064826b3b4b6785e6)
|
||
|
(cherry picked from commit d87e0e297b1cba73a0c055d2a3e9267d288f435a)
|
||
|
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||
|
---
|
||
|
gcc/config/rs6000/rs6000.c | 12 ++++++++++--
|
||
|
1 file changed, 10 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
|
||
|
index 0a55c979c36..7e5cdd34840 100644
|
||
|
--- a/gcc/config/rs6000/rs6000.c
|
||
|
+++ b/gcc/config/rs6000/rs6000.c
|
||
|
@@ -5782,20 +5782,28 @@ rs6000_machine_from_flags (void)
|
||
|
if (rs6000_cpu == PROCESSOR_MPCCORE)
|
||
|
return "\"821\"";
|
||
|
|
||
|
+#if 0
|
||
|
+ /* This (and ppc64 below) are disabled here (for now at least) because
|
||
|
+ PROCESSOR_POWERPC, PROCESSOR_POWERPC64, and PROCESSOR_COMMON
|
||
|
+ are #define'd as some of these. Untangling that is a job for later. */
|
||
|
+
|
||
|
/* 600 series and 700 series, "classic" */
|
||
|
if (rs6000_cpu == PROCESSOR_PPC601 || rs6000_cpu == PROCESSOR_PPC603
|
||
|
|| rs6000_cpu == PROCESSOR_PPC604 || rs6000_cpu == PROCESSOR_PPC604e
|
||
|
- || rs6000_cpu == PROCESSOR_PPC750 || rs6000_cpu == PROCESSOR_POWERPC)
|
||
|
+ || rs6000_cpu == PROCESSOR_PPC750)
|
||
|
return "ppc";
|
||
|
+#endif
|
||
|
|
||
|
/* Classic with AltiVec, "G4" */
|
||
|
if (rs6000_cpu == PROCESSOR_PPC7400 || rs6000_cpu == PROCESSOR_PPC7450)
|
||
|
return "\"7450\"";
|
||
|
|
||
|
+#if 0
|
||
|
/* The older 64-bit CPUs */
|
||
|
if (rs6000_cpu == PROCESSOR_PPC620 || rs6000_cpu == PROCESSOR_PPC630
|
||
|
- || rs6000_cpu == PROCESSOR_RS64A || rs6000_cpu == PROCESSOR_POWERPC64)
|
||
|
+ || rs6000_cpu == PROCESSOR_RS64A)
|
||
|
return "ppc64";
|
||
|
+#endif
|
||
|
|
||
|
HOST_WIDE_INT flags = rs6000_isa_flags;
|
||
|
|
||
|
--
|
||
|
2.34.3
|
||
|
|