This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/49927] [4.7 Regression] ice in spill_failure, at reload1.c:2120
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 1 Aug 2011 10:08:02 +0000
- Subject: [Bug rtl-optimization/49927] [4.7 Regression] ice in spill_failure, at reload1.c:2120
- Auto-submitted: auto-generated
- References: <bug-49927-4@http.gcc.gnu.org/bugzilla/>
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.