This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Add "native" as a valid option value for -march= on aarch64 (PR driver/83193).
- From: Martin Liška <mliska at suse dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Jakub Jelinek <jakub at redhat dot com>, Jan Hubicka <hubicka at ucw dot cz>, James Greenhalgh <james dot greenhalgh at arm dot com>, Ramana Radhakrishnan <ramana dot radhakrishnan at foss dot arm dot com>, Kyrill Tkachov <kyrylo dot tkachov at foss dot arm dot com>
- Date: Wed, 21 Feb 2018 08:35:31 +0100
- Subject: [PATCH] Add "native" as a valid option value for -march= on aarch64 (PR driver/83193).
- Authentication-results: sourceware.org; auth=none
- References: <f6ef8fc4-43b4-8e1a-34ef-3379ea4d69c7@suse.cz>
Hi.
This is equivalent patch for aarch64 target. I've tested that both as cross
compiler and native one.
Ready for trunk?
Thanks,
Martin
>From 4fbe17099f8618ddd6a4de2d269ecb6f99625927 Mon Sep 17 00:00:00 2001
From: marxin <mliska@suse.cz>
Date: Tue, 20 Feb 2018 14:14:25 +0100
Subject: [PATCH 2/3] Add "native" as a valid option value for -march= on
aarch64 (PR driver/83193).
gcc/ChangeLog:
2018-02-20 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.
---
gcc/config/aarch64/aarch64.c | 7 +++++++
gcc/config/aarch64/aarch64.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index e1fb87f047f..33c90ef02dc 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 e3c52f63683..976f9afae54 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
--
2.16.1