On Tue, 2020-06-16 at 13:59 -0500, Peter Bergner wrote:
> On 6/15/20 5:43 PM, will schmidt wrote:
> > On Mon, 2020-06-15 at 14:56 -0500, Peter Bergner via Gcc-patches wrote:
> > >   * config/rs6000/rs6000-cpus.def (OTHER_FUTURE_MASKS): Add
> > >   OPTION_MASK_MMA.
> > >   (POWERPC_MASKS): Likewise.
> > 
> > Don't see POWERPC_MASKS in the patch here.
> 
> It's this hunk:
> 
>  /* Support for a future processor's features.  */
> @@ -132,6 +133,7 @@
>                                | OPTION_MASK_HTM                      \
>                                | OPTION_MASK_ISEL                     \
>                                | OPTION_MASK_MFCRF                    \
> +                              | OPTION_MASK_MMA                      \
>                                | OPTION_MASK_MODULO                   \
>                                | OPTION_MASK_MULHW                    \
>                                | OPTION_MASK_NO_UPDATE                \
> 

I see it now, my bad.  (#define POWERPC_MASKS was outside of the diff
context).  :-)


> 
> 
> 
> > > +;; Vector load/store pair operations
> > 
> > Probably clear later on.  First blush and first pass a blurb here to
> > clarify MMA, and what the modes are may be useful.
> > 
> > The subsection paragraph from the extend.texi may be a good fit).
> 
> [snip]
> > > +;; We need to define an OImode move pattern, even though we don't
> > > enable it,
> > > +;; because the machine independent parts of the compiler at times
> > > uses the
> > > +;; large integer modes.
> > > +;;
> > > +;; If we enable movoi, the compiler will try and use
> > > it.  Unfortunately, if it
> > > +;; is enabled, it will cause problems on little endian systems with
> > > code that
> > > +;; uses the vector_size attribute, due to endian issues.
> > 
> > So, maybe rearrange as two lines?
> > 
> > Define a (disabled) OImode move pattern so the machine independent
> > parts of the compare can use the large integer modes.
> > FIXME: If the OImove pattern is enabled, LE systems will have problems
> > with the vector_size attribute.
> 
> Ok, I'll take a stab at rewording this.
> 
> 
> > > +(define_expand "movoi"
> > > +  [(set (match_operand:OI 0 "nonimmediate_operand")
> > > + (match_operand:OI 1 "input_operand"))]
> > > +  "0"
> > > +{
> > > +  gcc_unreachable ();
> > > +})
> > 
> > Is it the "0" or the _unreachable() that 'disables' this? 
> 
> It's the "0" condition flag that disables it.  The gcc_unreachable() call
> is just used to verify we never do.


Ok,
Thanks,
-Will



> 
> 
> Peter
> 

Reply via email to