On Mon, Mar 28, 2022 at 12:28:55PM -0400, Michael Meissner wrote:
> In looking at PR target/99293, I noticed that the vsx_extract_<mode>
> pattern for V2DImode and V2DFmode only allowed traditional floating point
> registers, and it did not allow Altivec registers.  The original code was
> written a few years ago when we used the old register allocator, and
> support for scalar floating point in Altivec registers was just being
> added to GCC.

vsx_extract_<mode> is from 2009...  How time flies :-)

This comment is from 2016 though.  Still before LRA was default for us
of course ;-)

If would have been nice if we had a testcase for this breakage, so that
we could now be confident it really has been fixed.  But the "reload"
here likely means "old reload", so okay.

>       PR target/99293

It has essentially nothing to do with that PR, right?  Or I just do not
see it, always a possibility of course.

>       * config/rs6000/rs6000.md (vsx_extract_<mode>): Allow destination
>       to be an Altivec register.

... to be any VSX register.

Okay for trunk with those things fixed.  Thanks!


Segher

Reply via email to