[PATCH] Print default options selection for -march,-mcpu and -mtune for aarch64 (PR driver/83193).
Richard Earnshaw (lists)
Richard.Earnshaw@arm.com
Thu Aug 2 09:39:00 GMT 2018
On 18/07/18 16:48, Martin Liška wrote:
> Hi.
>
> This is aarch64 fix for PR83193. It's about setting of default options
> so that --help=target -Q prints proper numbers:
>
> Now this is seen on my cross-compiler:
>
> --- /home/marxin/Downloads/options-2-before.txt 2018-07-18 14:53:11.658146543 +0200
> +++ /home/marxin/Downloads/options-2.txt 2018-07-18 14:52:30.113274284 +0200
> @@ -1,10 +1,10 @@
> The following options are target specific:
> -mabi=ABI lp64
> - -march=ARCH
> + -march= armv8-a
So we have
-mabi=ABI lp64
but
-march= armv8-a
^^^^^ blank
Isn't that inconsistent?
R.
> -mbig-endian [disabled]
> -mbionic [disabled]
> -mcmodel= small
> - -mcpu=CPU
> + -mcpu= generic
> -mfix-cortex-a53-835769 [enabled]
> -mfix-cortex-a53-843419 [enabled]
> -mgeneral-regs-only [disabled]
> @@ -19,7 +19,7 @@
> -msve-vector-bits=N scalable
> -mtls-dialect= desc
> -mtls-size= 24
> - -mtune=CPU
> + -mtune= generic
> -muclibc [disabled]
>
> May I please ask ARM folks to test the patch?
> Thanks,
> Martin
>
> gcc/ChangeLog:
>
> 2018-07-18 Martin Liska <mliska@suse.cz>
>
> PR driver/83193
> * config/aarch64/aarch64.c (aarch64_override_options_internal):
> Set default values for x_aarch64_*_string strings.
> * config/aarch64/aarch64.opt: Remove --{march,mcpu,mtune}==
> prefix.
> ---
> gcc/config/aarch64/aarch64.c | 7 +++++++
> gcc/config/aarch64/aarch64.opt | 6 +++---
> 2 files changed, 10 insertions(+), 3 deletions(-)
>
>
>
> 0001-Print-default-options-selection-for-march-mcpu-and-m.patch
>
>
> diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
> index 6fa03e4b091..d48e6278efa 100644
> --- a/gcc/config/aarch64/aarch64.c
> +++ b/gcc/config/aarch64/aarch64.c
> @@ -10713,6 +10713,13 @@ aarch64_override_options_internal (struct gcc_options *opts)
> && opts->x_optimize >= aarch64_tune_params.prefetch->default_opt_level)
> opts->x_flag_prefetch_loop_arrays = 1;
>
> + if (opts->x_aarch64_arch_string == NULL)
> + opts->x_aarch64_arch_string = selected_arch->name;
> + if (opts->x_aarch64_cpu_string == NULL)
> + opts->x_aarch64_cpu_string = selected_cpu->name;
> + if (opts->x_aarch64_tune_string == NULL)
> + opts->x_aarch64_tune_string = selected_tune->name;
> +
> aarch64_override_options_after_change_1 (opts);
> }
>
> diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt
> index 1426b45ff0f..7f0b65de37b 100644
> --- a/gcc/config/aarch64/aarch64.opt
> +++ b/gcc/config/aarch64/aarch64.opt
> @@ -117,15 +117,15 @@ Enum(aarch64_tls_size) String(48) Value(48)
>
> march=
> Target RejectNegative ToLower Joined Var(aarch64_arch_string)
> --march=ARCH Use features of architecture ARCH.
> +Use features of architecture ARCH.
>
> mcpu=
> Target RejectNegative ToLower Joined Var(aarch64_cpu_string)
> --mcpu=CPU Use features of and optimize for CPU.
> +Use features of and optimize for CPU.
>
> mtune=
> Target RejectNegative ToLower Joined Var(aarch64_tune_string)
> --mtune=CPU Optimize for CPU.
> +Optimize for CPU.
>
> mabi=
> Target RejectNegative Joined Enum(aarch64_abi) Var(aarch64_abi) Init(AARCH64_ABI_DEFAULT)
>
More information about the Gcc-patches
mailing list