Hi Bill,

On Mon, Sep 30, 2019 at 08:24:09PM -0500, Bill Schmidt wrote:
> PR91275 observes that __builtin_crypto_vpmsumd fails to work properly
> with -O1 or higher with -mcpu=power8.  That combination spells swap
> optimization.  Indeed, all vpmsum* instructions were being accepted
> as swappable operations.  This is correct for all of them but vpmsumd,
> which creates a 128-bit result.

Yeah, that is obvious once you see it spelled out :-)

> The -std=gnu11 in the testcase is there to avoid errors about long long
> not being accepted with pure ANSI.  The "11" part is arbitrary.  The
> testcase is modified from the original bug report.

That is fine.

> This patch disallows swap optimization in the presence of vpmsumd.
> Bootstrapped and tested on powerpc64le-unknown-linux-gnu.  Is this okay
> for trunk, and for backport to all active branches after an appropriate
> waiting period?

Yes please.  Thanks,


Segher


> 2019-09-30  Bill Schmidt  <wschm...@linux.ibm.com>
> 
>       * config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Don't swap
>       vpmsumd.
> 
> [gcc/testsuite]
> 
> 2019-09-30  Bill Schmidt  <wschm...@linux.ibm.com>
> 
>       * gcc.target/powerpc/pr91275.c: New.

Reply via email to