[Bug rtl-optimization/49927] [4.7 Regression] ice in spill_failure, at reload1.c:2120

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Aug 1 10:08:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49927

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-08-01 10:07:57 UTC ---
Caused by http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176536
Shorter testcase:
char a[1][1];
long long b;

void
foo (void)
{
  --a[b][b];
}

I'd say it is a mistake to allow subregs of DImode pseudos in the addresses for
-m32, it makes sense only for TARGET_64BIT when DImode is just a single general
register.  Because otherwise the subregs of DImode registers in addresses
increase register pressure on the insn in question, especially if in the
address there is more than one.



More information about the Gcc-bugs mailing list