This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]