-----Original Message-----
From: Richard Earnshaw <richard.earns...@foss.arm.com>
Sent: Monday, November 20, 2023 12:53 PM
To: Tamar Christina <tamar.christ...@arm.com>; gcc-patches@gcc.gnu.org
Cc: nd <n...@arm.com>; Richard Earnshaw <richard.earns...@arm.com>;
Marcus Shawcroft <marcus.shawcr...@arm.com>; Kyrylo Tkachov
<kyrylo.tkac...@arm.com>; Richard Sandiford
<richard.sandif...@arm.com>
Subject: Re: [PATCH]AArch64 docs: update -mcpu=generic definition on
aarch64
On 16/11/2023 15:19, Tamar Christina wrote:
> 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..77684c5d7c9c0bdd5872
50acc190
> da81e0f7f032 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.
>
>
>
>
@opindex mcpu
@item -mcpu=@var{name}
Specify the name of the target processor, optionally suffixed by one or more
feature modifiers. This option has the form @option{-
mcpu=@var{cpu}@r{@{}+@r{[}no@r{]}@var{feature}@r{@}*}}, where the
permissible values for @var{cpu} are the same as those available
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^
for @option{-mtune}.
^^^^^^^^^^^^^^^^^^^^
So what is the behaviour now if these are used for -mcpu? Do we really want
to permit their use here?