On Wed, Feb 19, 2020 at 09:17:26PM -0600, Peter Bergner wrote:
> PR93658 shows a problem in rs6000_legitimate_address_p() where we erroneously
> mark an Altivec address as being invalid, which causes LRA to go into an
> infinite loop spilling the same address over and over again.  The problem
> is, when VSX is enabled, the rs6000_vector_mem[<vector mode>], returns
> VECTOR_VSX rather than VECTOR_ALTIVEC, causing us to not handle Altivec
> load/store addresses correctly.  The following patch tests for both
> and fixes the test case.

Ooh you found the problem, that was fast, great!

> This passed bootstrap and regtesting on powerpc64le-linux and powerpc64-linux
> (in both 32-bit and 64-bit modes) with no regressions.  Ok for trunk?
> The same bug exists in FSF 9 anf FSF 8 branches.  Ok for those too after
> some burn in on trunk and clean regtests on the backports?

Okay for all.  You may want to check it into 9 a bit faster than usual,
to meet the release schedule.  It should be perfectly safe enough for
that.  Do run the regstraps, of course ;-)

Thanks!


Segher


> gcc/
>       PR target/93658
>       * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX
>       vector modes.
> 
> gcc/testsuite/
>       PR target/93658
>       * gcc.target/powerpc/pr93658.c: New test.

Reply via email to