On Tue, Feb 20, 2018 at 03:58:07PM +0000, Richard Sandiford wrote:
> Martin Liška <[email protected]> writes:
> > 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?
>
> [...]
>
> > 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);
>
> We should probably only do this if the driver supports -march=native.
> I think for x86 that means HAVE_LOCAL_CPU_DETECT.
Isn't the option available always? It just doesn't do anything if
/* If we are compiling with GCC where %EBX register is fixed, then the
driver will just ignore -march and -mtune "native" target and will leave
to the newly built compiler to generate code for its default target. */
Jakub