aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2018-02-21 15:05:45 +0100
committerMartin Liska <marxin@gcc.gnu.org>2018-02-21 14:05:45 +0000
commita08b5429c18215fb576380b29cffbf2a51ae21e6 (patch)
tree2062b49d47d797c7d75829da3122b77bffb777d5
parenta646fe9c48679d9904473676705f75dae5dd59c2 (diff)
downloadgcc-a08b5429c18215fb576380b29cffbf2a51ae21e6.zip
gcc-a08b5429c18215fb576380b29cffbf2a51ae21e6.tar.gz
gcc-a08b5429c18215fb576380b29cffbf2a51ae21e6.tar.bz2
Add "native" as a valid option value for -march= on aarch64 (PR driver/83193).
2018-02-21 Martin Liska <mliska@suse.cz> PR driver/83193 * config/aarch64/aarch64.c (aarch64_print_hint_for_core_or_arch): Add "native" as a possible value. * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT): Define the macro when native cpu detection is available. From-SVN: r257874
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/aarch64/aarch64.c7
-rw-r--r--gcc/config/aarch64/aarch64.h1
3 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 730ab68..1432608 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,6 +1,14 @@
2018-02-21 Martin Liska <mliska@suse.cz>
PR driver/83193
+ * config/aarch64/aarch64.c (aarch64_print_hint_for_core_or_arch):
+ Add "native" as a possible value.
+ * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT): Define
+ the macro when native cpu detection is available.
+
+2018-02-21 Martin Liska <mliska@suse.cz>
+
+ PR driver/83193
* common/config/arm/arm-common.c (arm_print_hint_for_arch_option):
Add "native" as a possible value.
* config/arm/arm.h (HAVE_LOCAL_CPU_DETECT): Define the macro
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index e1fb87f..33c90ef 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -10628,6 +10628,13 @@ aarch64_print_hint_for_core_or_arch (const char *str, bool arch)
const struct processor *entry = arch ? all_architectures : all_cores;
for (; entry->name != NULL; entry++)
candidates.safe_push (entry->name);
+
+#ifdef HAVE_LOCAL_CPU_DETECT
+ /* Add also "native" as possible value. */
+ if (arch)
+ candidates.safe_push ("native");
+#endif
+
char *s;
const char *hint = candidates_list_and_hint (str, s, candidates);
if (hint)
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index e3c52f6..976f9af 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -1002,6 +1002,7 @@ extern const char *aarch64_rewrite_mcpu (int argc, const char **argv);
#if defined(__aarch64__)
extern const char *host_detect_local_cpu (int argc, const char **argv);
+#define HAVE_LOCAL_CPU_DETECT
# define EXTRA_SPEC_FUNCTIONS \
{ "local_cpu_detect", host_detect_local_cpu }, \
MCPU_TO_MARCH_SPEC_FUNCTIONS