Hi! On Tue, Apr 11, 2017 at 04:27:05PM -0500, Bill Schmidt wrote: > The real secondary problem is that we produce a const0_rtx instead of > a mode-compatible CONST0_RTX, so the assignment of the built-in result to its > target rtx fails with an ICE. I've gone through rs6000.c and fixed the places > where we do this in an obviously wrong manner.
Let's hope there aren't any left. > Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions. > Is this ok for trunk? Both bugs were reported against GCC 6.2, so I would > also like to backport the fixes to 6 and possibly 5. Okay for all. Thanks! Segher > PR target/80376 > PR target/80315 > * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return > CONST0_RTX (mode) rather than const0_rtx where appropriate. > (rs6000_expand_binop_builtin): Likewise. > (rs6000_expand_ternop_builtin): Likewise; also add missing > vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for > vshasigma built-ins. > * doc/extend.texi: Document that vec_xxpermdi's third argument > must be a constant.