------- Comment #5 from aoliva at gcc dot gnu dot org  2010-06-23 04:35 -------
Created an attachment (id=20984)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20984&action=view)
Patch that fixes the problem

The MEMs for each HImode in the DImode args all have NULL MEM_OFFSET (we indeed
don have a constant offset within the loop, for it varies), but when we
delegitimize those addresses during var-tracking, we assume no MEM_OFFSET means
zero MEM_OFFSET, which maps all MEMs to the same VALUE.  The assumption turns
out to be wrong.  We can't delegitimize a MEM to the base address when it may
be offset by an unknown amount.  Testing the patch now.


-- 


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

Reply via email to