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.

Reply via email to