Hi All,

This documents the behavior of the generic CPU options on AArch64.

Bootstrapped Regtested on aarch64-none-linux-gnu and no issues.

Ok for master?

Thanks,
Tamar

gcc/ChangeLog:

        * doc/invoke.texi (generic): Update defintion.
        (generic-armv8-a, generic-armv9-a): Document.

--- inline copy of patch -- 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 
d0b55fb106f908e8222394bbd07670aa583c5680..77684c5d7c9c0bdd587250acc190da81e0f7f032
 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -20759,7 +20759,8 @@ processors implementing the target architecture.
 @item -mtune=@var{name}
 Specify the name of the target processor for which GCC should tune the
 performance of the code.  Permissible values for this option are:
-@samp{generic}, @samp{cortex-a35}, @samp{cortex-a53}, @samp{cortex-a55},
+@samp{generic}, @samp{generic-armv8-a}, @samp{generic-armv9-a},
+@samp{cortex-a35}, @samp{cortex-a53}, @samp{cortex-a55},
 @samp{cortex-a57}, @samp{cortex-a72}, @samp{cortex-a73}, @samp{cortex-a75},
 @samp{cortex-a76}, @samp{cortex-a76ae}, @samp{cortex-a77},
 @samp{cortex-a65}, @samp{cortex-a65ae}, @samp{cortex-a34},
@@ -20798,6 +20799,11 @@ arithmetic instructions per cycle (2 for 256-bit SVE, 
4 for 128-bit SVE).
 This is more general than tuning for a specific core like Neoverse V1
 but is more specific than the default tuning described below.
 
+The value @samp{generic} should not be assumed to be a static configuration.
+Starting with GCC 14 this value can change over time in order to better reflect
+advancements in CPU microarchitecture.  If a specific version is required you 
are encouraged
+to use one of the architecture specific generic processors, e.g. 
@samp{generic-armv8-a}.
+
 Additionally on native AArch64 GNU/Linux systems the value
 @samp{native} tunes performance to the host system.  This option has no effect
 if the compiler is unable to recognize the processor of the host system.




-- 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 
d0b55fb106f908e8222394bbd07670aa583c5680..77684c5d7c9c0bdd587250acc190da81e0f7f032
 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -20759,7 +20759,8 @@ processors implementing the target architecture.
 @item -mtune=@var{name}
 Specify the name of the target processor for which GCC should tune the
 performance of the code.  Permissible values for this option are:
-@samp{generic}, @samp{cortex-a35}, @samp{cortex-a53}, @samp{cortex-a55},
+@samp{generic}, @samp{generic-armv8-a}, @samp{generic-armv9-a},
+@samp{cortex-a35}, @samp{cortex-a53}, @samp{cortex-a55},
 @samp{cortex-a57}, @samp{cortex-a72}, @samp{cortex-a73}, @samp{cortex-a75},
 @samp{cortex-a76}, @samp{cortex-a76ae}, @samp{cortex-a77},
 @samp{cortex-a65}, @samp{cortex-a65ae}, @samp{cortex-a34},
@@ -20798,6 +20799,11 @@ arithmetic instructions per cycle (2 for 256-bit SVE, 
4 for 128-bit SVE).
 This is more general than tuning for a specific core like Neoverse V1
 but is more specific than the default tuning described below.
 
+The value @samp{generic} should not be assumed to be a static configuration.
+Starting with GCC 14 this value can change over time in order to better reflect
+advancements in CPU microarchitecture.  If a specific version is required you 
are encouraged
+to use one of the architecture specific generic processors, e.g. 
@samp{generic-armv8-a}.
+
 Additionally on native AArch64 GNU/Linux systems the value
 @samp{native} tunes performance to the host system.  This option has no effect
 if the compiler is unable to recognize the processor of the host system.



Reply via email to