[PATCH, rs6000] Fix incorrect mode usage for vec_select

Segher Boessenkool segher@kernel.crashing.org
Thu Mar 9 20:32:00 GMT 2017


On Wed, Mar 08, 2017 at 09:47:32AM -0600, Bill Schmidt wrote:
> As noted by Jakub in https://gcc.gnu.org/ml/gcc-patches/2017-03/msg00183.html,
> the PowerPC back end incorrectly uses vec_select with 2 elements for a mode
> that has only one.  This is due to faulty mode iterator use:  V1TImode was
> wrongly included in the VSX_LE mode iterator, but should instead have been
> in the VSX_LE_128 mode iterator.
> 
> This patch fixes that, and with VSX_LE no longer including V1TImode, it is
> now redundant with VSX_D, so that patch removes VSX_LE altogether.
> 
> Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions.
> Is this ok for trunk?

Yes, thanks.

> I am uncertain whether we should backport the fix to gcc 5 and 6, since,
> although the code is technically incorrect, it works just fine.  The fix
> is needed in trunk to permit the sanity checking that Jakub has proposed
> for genrecog.

Then let's not, not until we backport something that touches this code.
OTOH a backport of this is approved as well, if you prefer that.


Segher



More information about the Gcc-patches mailing list