mn10300 regression bugfix

Jeff Law law@redhat.com
Sun Aug 31 17:08:00 GMT 2008


Pretty straightforward.  The AM33-2 can't load an FP register directly 
from a constant memory address.  We correctly defined a secondary reload 
for the common case, but missed that a pseudo might have an equivalent 
memory location with a constant address.

If the pseudo failed to get a hard register, we use the equivalent 
memory location and ultimately get an insn which doesn't match its 
constraints.

The fix is rather obvious.  I took the opportunity to factor a little 
code since there's a couple places where we need to check a REG (or 
SUBREG) to see if its a pseudo within mn10300_secondary_reload_class.



And the good news -- the other suspected IRA bug on the mn103 is 
actually a bug in a libgloss linker script which caused the heap to 
collide with some special C++ symbols.  Needless to say this created 
some strange behaviour.


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mn103.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20080831/9f74c58a/attachment.ksh>


More information about the Gcc-patches mailing list