Hi Mike,

On Thu, May 05, 2016 at 02:05:19PM -0400, Michael Meissner wrote:
> > > With this patch, I enable -mlra if the user did not specify either -mlra 
> > > or
> > > -mno-lra on the command line, and -mcpu=power9 or -mpower9-dform-vector 
> > > were
> > > used. I also enabled -mvsx-timode if LRA was used, which also is a RELOAD
> > > issue, that works with LRA.
> > 
> > I don't like enabling LRA if the user didn't ask for it; it is a bit too
> > surprising.  What do you do if there is -mno-lra explicitly?  You can just
> > do the same if no-lra is implicit?
> 
> Ok.

You didn't however change this afaics?

> > > --- gcc/config/rs6000/rs6000.opt  
> > > (.../svn+ssh://meiss...@gcc.gnu.org/svn/gcc/trunk/gcc/config/rs6000)    
> > > (revision 235831)
> > > +++ gcc/config/rs6000/rs6000.opt  (.../gcc/config/rs6000) (working copy)
> > > @@ -470,8 +470,8 @@ Target RejectNegative Joined UInteger Va
> > >  -mlong-double-<n>        Specify size of long double (64 or 128 bits).
> > >  
> > >  mlra
> > > -Target Report Var(rs6000_lra_flag) Init(0) Save
> > > -Use LRA instead of reload.
> > > +Target Undocumented Mask(LRA) Var(rs6000_isa_flags)
> > > +Use the LRA register allocator instead of the reload register allocator.
> > 
> > It wasn't "undocumented" before?  Why the change to a mask bit btw?
> 
> It was always meant to be undocumented, but I changed to be similar to
> before. I am trying to change all of the random switches that set a word to be
> an option mask, so I made that part of the change in these next patches.

I agree it should be undocumented because hopefully one day all reload
will not exist at all anymore.  OTOH, all other archs with an -mlra
switch do not have it hidden, so we might as well follow suit there.

> I did remove setting it for -mcpu=power9.

It doesn't look like it?  Please check.

> @@ -94,6 +95,7 @@
>                                | OPTION_MASK_FPRND                    \
>                                | OPTION_MASK_HTM                      \
>                                | OPTION_MASK_ISEL                     \
> +                              | OPTION_MASK_LRA                      \
>                                | OPTION_MASK_MFCRF                    \
>                                | OPTION_MASK_MFPGPR                   \
>                                | OPTION_MASK_MODULO                   \

> > > +mpower9-dform-scalar
> > > +Target Report Mask(P9_DFORM_SCALAR) Var(rs6000_isa_flags)
> > > +Use/do not use scalar register+offset memory instructions added in ISA 
> > > 3.0.
> > > +
> > > +mpower9-dform-vector
> > > +Target Report Mask(P9_DFORM_VECTOR) Var(rs6000_isa_flags)
> > > +Use/do not use vector register+offset memory instructions added in ISA 
> > > 3.0.
> > > +
> > >  mpower9-dform
> > > -Target Undocumented Mask(P9_DFORM) Var(rs6000_isa_flags)
> > > -Use/do not use vector and scalar instructions added in ISA 3.0.
> > > +Target Report Var(TARGET_P9_DFORM_BOTH) Init(-1) Save
> > > +Use/do not use register+offset memory instructions added in ISA 3.0.
> > 
> > These should probably all be undocumented, though (they're not something
> > users should use).
> 
> I will make -mpower9-dform public (which I thought it was, but evidently I
> missed adding the documentation for GCC 6), but I will make the -scalar and
> -vector forms private.

You think this is something users are expected to twiddle?  Okay then.

> [gcc]
> 2016-05-05  Michael Meissner  <meiss...@linux.vnet.ibm.com>
> 
>       * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Use
>       -mpower9-dform-scalar instead of -mpower9-dform. Add note not to
>       include -mpower9-dform-vector until we switch over to LRA.

Thanks for the better changelog, much appreciated.  Two spaces after
a full stop though.


Segher

Reply via email to