https://gcc.gnu.org/g:ea0193ba078ba6d9747329266de9aa9b2a9bb5d5

commit ea0193ba078ba6d9747329266de9aa9b2a9bb5d5
Author: Michael Meissner <meiss...@linux.ibm.com>
Date:   Fri Mar 8 23:26:03 2024 -0500

    Add -mcpu=future support part 2
    
    This patch allows GCC to be configured with the --with-cpu=future and
    --with-tune=future options.
    
    This patch passes -mfutue to the assembler if the user uses -mcpu=future.
    
    2024-03-08  Michael Meissner  <meiss...@linux.ibm.com>
    
    gcc/
    
            * config.gcc (rs6000*-*-*, powerpc*-*-*): Add support for power11.
            * config/rs6000/aix71.h (ASM_CPU_SPEC): Add support for 
-mcpu=power11.
            * config/rs6000/aix72.h (ASM_CPU_SPEC): Likewise.
            * config/rs6000/aix73.h (ASM_CPU_SPEC): Likewise.
            * config/rs6000/driver-rs6000.cc (asm_names): Likewise.
            * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.

Diff:
---
 gcc/config.gcc                     | 4 ++--
 gcc/config/rs6000/aix71.h          | 1 +
 gcc/config/rs6000/aix72.h          | 1 +
 gcc/config/rs6000/aix73.h          | 1 +
 gcc/config/rs6000/driver-rs6000.cc | 2 ++
 gcc/config/rs6000/rs6000.h         | 3 ++-
 6 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/gcc/config.gcc b/gcc/config.gcc
index 8adc71d82e9..e0ae4760539 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -532,7 +532,7 @@ powerpc*-*-*)
        extra_headers="${extra_headers} amo.h"
        case x$with_cpu in
            xpowerpc64 | xdefault64 | x6[23]0 | x970 | xG5 | xpower[3456789] \
-           | xpower1[01] | xpower6x | xrs64a | xcell | xa2 | xe500mc64 \
+           | xpower1[01] | xfuture | xpower6x | xrs64a | xcell | xa2 | 
xe500mc64 \
            | xe5500 | xe6500)
                cpu_is_64bit=yes
                ;;
@@ -5560,7 +5560,7 @@ case "${target}" in
                                eval "with_$which=405"
                                ;;
                        "" | common | native \
-                       | power[3456789] | power1[01] | power5+ | power6x \
+                       | power[3456789] | power1[01] | power5+ | power6x | 
future \
                        | powerpc | powerpc64 | powerpc64le \
                        | rs64 \
                        | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
diff --git a/gcc/config/rs6000/aix71.h b/gcc/config/rs6000/aix71.h
index 41037b3852d..570ddcc451d 100644
--- a/gcc/config/rs6000/aix71.h
+++ b/gcc/config/rs6000/aix71.h
@@ -79,6 +79,7 @@ do {                                                          
        \
 #undef ASM_CPU_SPEC
 #define ASM_CPU_SPEC \
 "%{mcpu=native: %(asm_cpu_native); \
+  mcpu=future: -mfuture; \
   mcpu=power11: -mpwr11; \
   mcpu=power10: -mpwr10; \
   mcpu=power9: -mpwr9; \
diff --git a/gcc/config/rs6000/aix72.h b/gcc/config/rs6000/aix72.h
index fe59f8319b4..242ca94bd06 100644
--- a/gcc/config/rs6000/aix72.h
+++ b/gcc/config/rs6000/aix72.h
@@ -79,6 +79,7 @@ do {                                                          
        \
 #undef ASM_CPU_SPEC
 #define ASM_CPU_SPEC \
 "%{mcpu=native: %(asm_cpu_native); \
+  mcpu=future: -mfuture; \
   mcpu=power11: -mpwr11; \
   mcpu=power10: -mpwr10; \
   mcpu=power9: -mpwr9; \
diff --git a/gcc/config/rs6000/aix73.h b/gcc/config/rs6000/aix73.h
index 1318b0b3662..2bd6b4bb3c4 100644
--- a/gcc/config/rs6000/aix73.h
+++ b/gcc/config/rs6000/aix73.h
@@ -79,6 +79,7 @@ do {                                                          
        \
 #undef ASM_CPU_SPEC
 #define ASM_CPU_SPEC \
 "%{mcpu=native: %(asm_cpu_native); \
+  mcpu=future: -mfuture; \
   mcpu=power11: -mpwr11; \
   mcpu=power10: -mpwr10; \
   mcpu=power9: -mpwr9; \
diff --git a/gcc/config/rs6000/driver-rs6000.cc 
b/gcc/config/rs6000/driver-rs6000.cc
index f4900724b98..07852fa50cf 100644
--- a/gcc/config/rs6000/driver-rs6000.cc
+++ b/gcc/config/rs6000/driver-rs6000.cc
@@ -441,6 +441,7 @@ struct asm_name {
 
 static const struct asm_name asm_names[] = {
 #if defined (_AIX)
+  { "future",  "-mfuture" },
   { "power3",  "-m620" },
   { "power4",  "-mpwr4" },
   { "power5",  "-mpwr5" },
@@ -470,6 +471,7 @@ static const struct asm_name asm_names[] = {
 
 #else
   { "cell",    "-mcell" },
+  { "future",  "-mfuture },
   { "power3",  "-mppc64" },
   { "power4",  "-mpower4" },
   { "power5",  "-mpower5" },
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 81e2f0a33ef..79ce1a8cbf1 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -106,8 +106,9 @@
    you make changes here, make them also there.  */
 #define ASM_CPU_SPEC \
 "%{mcpu=native: %(asm_cpu_native); \
-  mcpu=power10: -mpower10; \
+  mcpu=future: -mfuture; \
   mcpu=power11: -mpower11; \
+  mcpu=power10: -mpower10; \
   mcpu=power9: -mpower9; \
   mcpu=power8|mcpu=powerpc64le: -mpower8; \
   mcpu=power7: -mpower7; \

Reply via email to