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
   -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  <mli...@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(-)


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)

Reply via email to