https://gcc.gnu.org/g:8f50688bd3b27770be4017a1ce565d64cbda0ca0

commit 8f50688bd3b27770be4017a1ce565d64cbda0ca0
Author: Michael Meissner <meiss...@linux.ibm.com>
Date:   Wed Jul 31 12:45:27 2024 -0400

    Update arch flags.
    
    2024-07-31  Michael Meissner  <meiss...@linux.ibm.com>
    
    gcc/
    
            * config/rs6000/rs6000.cc (get_arch_flags): Rewrite.

Diff:
---
 gcc/config/rs6000/rs6000.cc | 41 ++++++++++++++++++++++++++---------------
 1 file changed, 26 insertions(+), 15 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index ec1cf85de12f..c89a6ea8e792 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -1827,41 +1827,52 @@ get_arch_flags (int cpu_index)
 {
   HOST_WIDE_INT ret = 0;
 
+  const HOST_WIDE_INT ARCH_COMBO_POWER4  = ARCH_MASK_POWER4;
+  const HOST_WIDE_INT ARCH_COMBO_POWER5  = ARCH_MASK_POWER5  | 
ARCH_COMBO_POWER4;
+  const HOST_WIDE_INT ARCH_COMBO_POWER5X = ARCH_MASK_POWER5X | 
ARCH_COMBO_POWER5;
+  const HOST_WIDE_INT ARCH_COMBO_POWER6  = ARCH_MASK_POWER6  | 
ARCH_COMBO_POWER5X;
+  const HOST_WIDE_INT ARCH_COMBO_POWER7  = ARCH_MASK_POWER7  | 
ARCH_COMBO_POWER6;
+  const HOST_WIDE_INT ARCH_COMBO_POWER8  = ARCH_MASK_POWER8  | 
ARCH_COMBO_POWER7;
+  const HOST_WIDE_INT ARCH_COMBO_POWER9  = ARCH_MASK_POWER9  | 
ARCH_COMBO_POWER8;
+  const HOST_WIDE_INT ARCH_COMBO_POWER10 = ARCH_MASK_POWER10 | 
ARCH_COMBO_POWER9;
+  const HOST_WIDE_INT ARCH_COMBO_POWER11 = ARCH_MASK_POWER11 | 
ARCH_COMBO_POWER10;
+
   if (cpu_index >= 0)
     switch (processor_target_table[cpu_index].processor)
       {
       case PROCESSOR_POWER11:
-       ret |= ARCH_MASK_POWER11;
-       /* fall through.  */
+       ret = ARCH_COMBO_POWER11;
+       break;
 
       case PROCESSOR_POWER10:
-       ret |= ARCH_MASK_POWER10;
-       /* fall through.  */
+       ret = ARCH_COMBO_POWER10;
+       break;
 
       case PROCESSOR_POWER9:
-       ret |= ARCH_MASK_POWER9;
-       /* fall through.  */
+       ret = ARCH_COMBO_POWER9;
+       break;
 
       case PROCESSOR_POWER8:
-       ret |= ARCH_MASK_POWER8;
-       /* fall through.  */
+       ret = ARCH_COMBO_POWER8;
+       break;
 
       case PROCESSOR_POWER7:
-       ret |= ARCH_MASK_POWER7;
-       /* fall through.  */
+       ret = ARCH_COMBO_POWER7;
+       break;
 
+      case PROCESSOR_PPCA2:
       case PROCESSOR_POWER6:
-       ret |= ARCH_MASK_POWER6;
-       /* fall through.  */
+       ret = ARCH_COMBO_POWER6;
+       break;
 
       case PROCESSOR_POWER5:
-       ret |= ARCH_MASK_POWER5;
+       ret = ARCH_COMBO_POWER5;
        if (TARGET_FPRND)
          ret |= ARCH_MASK_POWER5X;
-       /* fall through.  */
+       break;
 
       case PROCESSOR_POWER4:
-       ret |= ARCH_MASK_POWER4;
+       ret = ARCH_COMBO_POWER4;
        break;
 
       default:

Reply via email to