1From 6de33ed642f119f1e2543095dd56e4a94f97c27f Mon Sep 17 00:00:00 2001 2From: Segher Boessenkool <segher@kernel.crashing.org> 3Date: Fri, 11 Mar 2022 21:15:18 +0000 4Subject: [PATCH] rs6000: Do not use rs6000_cpu for .machine ppc and ppc64 5 (PR104829) 6 7Fixes: 77eccbf39ed5 8 9rs6000.h has 10 #define PROCESSOR_POWERPC PROCESSOR_PPC604 11 #define PROCESSOR_POWERPC64 PROCESSOR_RS64A 12which means that if you use things like -mcpu=powerpc -mvsx it will no 13longer work after my latest .machine patch. This causes GCC build errors 14in some cases, not a good idea (even if the errors are actually 15pre-existing: using -mvsx with a machine that does not have VSX cannot 16work properly). 17 182022-03-11 Segher Boessenkool <segher@kernel.crashing.org> 19 20 PR target/104829 21 * config/rs6000/rs6000.c (rs6000_machine_from_flags): Don't output 22 "ppc" and "ppc64" based on rs6000_cpu. 23 24(cherry picked from commit 80fcc4b6afee72443bef551064826b3b4b6785e6) 25(cherry picked from commit d87e0e297b1cba73a0c055d2a3e9267d288f435a) 26Signed-off-by: Romain Naour <romain.naour@gmail.com> 27--- 28 gcc/config/rs6000/rs6000.c | 12 ++++++++++-- 29 1 file changed, 10 insertions(+), 2 deletions(-) 30 31diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c 32index 0a55c979c36..7e5cdd34840 100644 33--- a/gcc/config/rs6000/rs6000.c 34+++ b/gcc/config/rs6000/rs6000.c 35@@ -5782,20 +5782,28 @@ rs6000_machine_from_flags (void) 36 if (rs6000_cpu == PROCESSOR_MPCCORE) 37 return "\"821\""; 38 39+#if 0 40+ /* This (and ppc64 below) are disabled here (for now at least) because 41+ PROCESSOR_POWERPC, PROCESSOR_POWERPC64, and PROCESSOR_COMMON 42+ are #define'd as some of these. Untangling that is a job for later. */ 43+ 44 /* 600 series and 700 series, "classic" */ 45 if (rs6000_cpu == PROCESSOR_PPC601 || rs6000_cpu == PROCESSOR_PPC603 46 || rs6000_cpu == PROCESSOR_PPC604 || rs6000_cpu == PROCESSOR_PPC604e 47- || rs6000_cpu == PROCESSOR_PPC750 || rs6000_cpu == PROCESSOR_POWERPC) 48+ || rs6000_cpu == PROCESSOR_PPC750) 49 return "ppc"; 50+#endif 51 52 /* Classic with AltiVec, "G4" */ 53 if (rs6000_cpu == PROCESSOR_PPC7400 || rs6000_cpu == PROCESSOR_PPC7450) 54 return "\"7450\""; 55 56+#if 0 57 /* The older 64-bit CPUs */ 58 if (rs6000_cpu == PROCESSOR_PPC620 || rs6000_cpu == PROCESSOR_PPC630 59- || rs6000_cpu == PROCESSOR_RS64A || rs6000_cpu == PROCESSOR_POWERPC64) 60+ || rs6000_cpu == PROCESSOR_RS64A) 61 return "ppc64"; 62+#endif 63 64 HOST_WIDE_INT flags = rs6000_isa_flags; 65 66-- 672.34.3 68 69