[Bug rtl-optimization/87600] Fix for PRs 86939 and 87479 causes build issues for several targets
segher at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jun 18 14:39:48 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87600
--- Comment #9 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Alexandre Oliva from comment #8)
> I've noticed regressions caused by make_more_copies, in scenarios that used
> subreg s for the low part of promoted incoming parms. With hard regs, the
> substitution into a subreg became a reg, but with a pseudo, it remains a
> subreg, which prevents further combines in some cases, as in e.g.
> gcc_target/powerpc/20050603-3.c on ppc64.
That happens because of the zero_extract problems. The only thing
make_more_copies has to do with this is that this change exposes this
problem on this testcase.
> I thought one way to go about it could be to scan for subregs of pseudos
> copied from hard regs before introducing the additional copies, and
> introduce the intermediate pseudo with the widest subreg mode if there
> aren't uses of the full pseudo.
Usually we want the *smallest* possible mode for pseudos. This is
important to get good optimisation.
More information about the Gcc-bugs
mailing list