[PATCH] rs6000: Fix PR91275
Segher Boessenkool
segher@kernel.crashing.org
Tue Oct 1 02:26:00 GMT 2019
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 <wschmidt@linux.ibm.com>
>
> * config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Don't swap
> vpmsumd.
>
> [gcc/testsuite]
>
> 2019-09-30 Bill Schmidt <wschmdit@linux.ibm.com>
>
> * gcc.target/powerpc/pr91275.c: New.
More information about the Gcc-patches
mailing list