Hi.
Following patch adds "native" as a possible option for -march value on i386
target.
I have similar patches for other targets. Would it be possible to install the
patch in current stage?
Before:
$ ./xgcc -B. -march=abcdef /tmp/empty.c
cc1: error: bad value (‘abcdef’) for ‘-march=’ switch
cc1: note: valid arguments to ‘-march=’ switch are: nocona core2 nehalem corei7
westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2
broadwell skylake skylake-avx512 cannonlake icelake bonnell atom silvermont slm
knl knm x86-64 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4
nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx
amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 btver1 btver2
After:
$ ./xgcc -B. -march=abcdef /tmp/empty.c
cc1: error: bad value (‘abcdef’) for ‘-march=’ switch
cc1: note: valid arguments to ‘-march=’ switch are: nocona core2 nehalem corei7
westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2
broadwell skylake skylake-avx512 cannonlake icelake bonnell atom silvermont slm
knl knm x86-64 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4
nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx
amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 btver1 btver2 native
$ ./xgcc -B. -march=native2 /tmp/empty.c
cc1: error: bad value (‘native2’) for ‘-march=’ switch
cc1: note: valid arguments to ‘-march=’ switch are: nocona core2 nehalem corei7
westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2
broadwell skylake skylake-avx512 cannonlake icelake bonnell atom silvermont slm
knl knm x86-64 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4
nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx
amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 btver1 btver2 native; did
you mean ‘native’?
Ready for trunk after tests?
Thanks
Martin
gcc/ChangeLog:
2018-02-20 Martin Liska <[email protected]>
PR driver/83193
* config/i386/i386.c (ix86_option_override_internal):
Add "native" as a possible value.
---
gcc/config/i386/i386.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index d54e7301e84..361d4df2663 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -4193,6 +4193,9 @@ ix86_option_override_internal (bool main_args_p,
|| ((processor_alias_table[i].flags & PTA_64BIT) != 0)))
candidates.safe_push (processor_alias_table[i].name);
+ /* Add also "native" as possible value. */
+ candidates.safe_push ("native");
+
char *s;
const char *hint
= candidates_list_and_hint (opts->x_ix86_arch_string, s, candidates);