[Bug target/89271] [9 Regression] gcc.target/powerpc/vsx-simode2.c stopped working in GCC 9

amodra at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Feb 19 23:11:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89271

--- Comment #10 from Alan Modra <amodra at gmail dot com> ---
> NON_SPECIAL_REGS removal

The gcc docs say of register classes: "You should define a class for the union
of two classes whenever some instruction allows both classes."

So this would seem to be going in the wrong direction.  We have quite a few
insns that allow gprs in one alternative and vsx/fpr/altivec in another.

I don't know whether the docs are up to date for ira/lra but my analysis of the
ppc-round3.c failure (see the notes in the patches I attached) after fixing
integer register move cost suggests that register allocation is better with
union classes available.  Note that x86 does have union classes.


More information about the Gcc-bugs mailing list