On Fri, Feb 14, 2020 at 2:12 AM Richard Earnshaw (lists)
<[email protected]> wrote:
>
> On 14/02/2020 03:18, [email protected] wrote:
> > From: Andrew Pinski <[email protected]>
> >
> > Right if someone supplies a -mcpu= option and then overrides
> > that option with -march=*, we get a warning when they conflict.
> > What we need is a generic cpu for each arch level but that is not
> > that useful because the only difference would be the arch level.
> > The best option is to allow -mcpu=generic -march=armv8.5-a not to
> > warn and that is now a generic armv8.5-a arch.
> >
>
> Then they should use -mtune=generic, rather than -mcpu.
Does it make sense to run:
"make check RUNTESTFLAGS="--target_board=unix/{,-mcpu=octeontx2}"
to make sure there are no latent bugs floating around with slightly
different tuning/scheduling?
The majority of the aarch64.exp failures are due to that warning.
If not how would suggest to test a -mcpu= option?
There is another use case:
A specific object file is to be run only on armv8.5-a processors but
someone sets CFLAGS to include -mcpu=octeontx2.
How would you suggest going about handling this case?
These are the two major cases where having a -mcpu=generic which
overrides a previous -mcpu= option and still able to select a higher
-march= option.
Thanks,
Andrew Pinski
>
> R.
> > OK? Bootstrapped and tested on aarch64-linux-gnu with no regressions.
> >
> > Thanks,
> > Andrew Pinski
> >
> > ChangeLog:
> > * config/aarch64/aarch64.c (aarch64_override_options): Don't
> > warn when the selected cpu was generic.
> > ---
> > gcc/config/aarch64/aarch64.c | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
> > index 4a34dce..9173afe 100644
> > --- a/gcc/config/aarch64/aarch64.c
> > +++ b/gcc/config/aarch64/aarch64.c
> > @@ -14075,10 +14075,12 @@ aarch64_override_options (void)
> > explicit_tune_core = selected_tune->ident;
> > }
> > /* If both -mcpu and -march are specified check that they are
> > architecturally
> > - compatible, warn if they're not and prefer the -march ISA flags. */
> > + compatible, warn if they're not and prefer the -march ISA flags.
> > + Only warn if not using the generic cpu. */
> > else if (selected_arch)
> > {
> > - if (selected_arch->arch != selected_cpu->arch)
> > + if (selected_cpu->ident != generic
> > + && selected_arch->arch != selected_cpu->arch)
> > {
> > warning (0, "switch %<-mcpu=%s%> conflicts with %<-march=%s%>
> > switch",
> > all_architectures[selected_cpu->arch].name,
> >
>