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.