On Sat, Feb 22, 2020 at 06:25:43PM -0600, Peter Bergner wrote:
> On 2/20/20 11:33 AM, Peter Bergner wrote:
> > Ok, I pushed the trunk fix now.  I'll kick off the release branch
> > backports now.
> > 
> > Jakub, I know you're getting the GCC 8.4 release ready.  Is this fix ok
> > for FSF 8 now or do you want me to wait until after 8.4 is out?
> 
> The backport of the PR93658 fix to GCC 8 & 9 showed a few testsuite 
> regressions.
> With Mike's help, we tracked those down to some fixes Mike had applied to
> trunk, but did not backport.  With the following patch, PR93658 is fixed in
> GCC 9 with no regressions.
> 
> GCC 8 is also regression free with the small update to the fragile insn
> counting in vss-vector-6-le.c.  We made major changes to this test case
> in trunk, but I think it's easier to just modify the count in the patch
> hunk below.
> 
> Is this still ok for GCC 8 & 9?

Please do each of those backports as separate commits (so that if there
is a problem with them, we can bisect it; it also should be easier to do
this way, even :-) )

(So backport the oldest first, etc.)

> rs6000: Fix infinite loop building ghostscript and icu [PR93658]
> 
> Fix rs6000_legitimate_address_p(), which erroneously marks a valid Altivec
> address as being invalid, which causes LRA's process_address()  to go into
> an infinite loop spilling the same address over and over again.
> Include Mike's earlier commits that fix bugs this patch exposes.
> 
>       Backport from master
>       2020-02-20  Peter Bergner  <berg...@linux.ibm.com>
> 
>       PR target/93658
>       * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX
>       vector modes.
> 
>       * gcc.target/powerpc/pr93658.c: New test.
> 
> Fix PR 93568 (thinko)
> 
>       Backport from master
>       2020-02-05  Michael Meissner  <meiss...@linux.ibm.com>
> 
>       PR target/93568
>       * config/rs6000/rs6000.c (get_vector_offset): Fix

(This changelog was committed truncated like this...  If you can find a
fuller version, please use that, but don't bother too much).

> Adjust how variable vector extraction is done.
> 
>       Backport from master
>       2020-02-03  Michael Meissner  <meiss...@linux.ibm.com>
> 
>       * config/rs6000/rs6000.c (get_vector_offset): New helper function
>       to calculate the offset in memory from the start of a vector of a
>       particular element.  Add code to keep the element number in
>       bounds if the element number is variable.
>       (rs6000_adjust_vec_address): Move calculation of offset of the
>       vector element to get_vector_offset.
>       (rs6000_split_vec_extract_var): Do not do the initial AND of
>       element here, move the code to get_vector_offset.
> 
> Fix bad code of vector extract of PC-relative address with variable element #.
> 
>       Backport from master
>       2020-01-06  Michael Meissner  <meiss...@linux.ibm.com>
> 
>       * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
>       Use 'Q' for doing vector extract from memory.
>       (vsx_extract_v4sf_var): Use 'Q' for doing vector extract from
>       memory.
>       (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for
>       doing vector extract from memory.
>       (vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector
>       extract from memory.
> 
> Only for GCC 8:
> 
>       * gcc.target/powerpc/vsx-vector-6-le.c: Update fragile insn count.

All those are okay to backport.  Thanks!


Segher

Reply via email to