On Fri, Jul 24, 2020 at 11:10:29AM -0500, Peter Bergner wrote:
> On 7/24/20 6:32 AM, Segher Boessenkool wrote:
> > On Thu, Jul 23, 2020 at 08:15:42PM -0500, Peter Bergner wrote:
> >> +  /* If the user explicitly uses -mpower10, ensure our ISA flags are
> >> +     compatible with it.  */
> >> +  if (TARGET_POWER10
> >> +      && (rs6000_isa_flags_explicit & OPTION_MASK_POWER10) != 0
> >> +      && (processor_target_table[cpu_index].target_enable
> >> +    & OPTION_MASK_POWER10) == 0)
> >> +    error ("%qs requires %qs", "-mpower10", "-mcpu=power10");
> > 
> > This still allows -mpower10 without corresponding -mcpu=.  We should
> > just remove this command like flag (but keep the internal flag); for
> > power10 we can do that without any issues, it is new (some testcases
> > will need fixing, but it is that: fixing).
> 
> I think our gcc driver will always pass a -mcpu= option to the compiler.
> That said, I too would prefer not even having the option.  However, I
> don't know how to remove the -mpower10 option but keep the flag.
> You had mentioned -mdirect-move  as one that had bee removed, but
> you actually only get a warning if you try and use that option, not
> an error, so it hasn't actually been removed.

It *was* removed, until a change in the option infrastructure removed
that feature :-(

It used "Ignore", so that the command line option didn't do anything,
but we still had the flag.  It was

mdirect-move
Target Undocumented Mask(DIRECT_MOVE) Var(rs6000_isa_flags) Ignore Warn(%qs is 
deprecated)

but after various changes that destroyed this functionality it was
changed to

mdirect-move
Target Undocumented Mask(DIRECT_MOVE) Var(rs6000_isa_flags) WarnRemoved

which seems to actually work, but is completely ununderstandable syntax.


Eventually we want to not use command-line flags to be able to select
this at all, but to do that we will need to change all our current logic
that uses target_flags.  Which isn't so bad, but it will take time.  Not
made easier by that we already *have* split off an rs6000_isa_flags
variable.  It's a mess :-(


Segher

Reply via email to