[Bug target/42040] [ia64] Inappropriate address spills

wilson at codesourcery dot com gcc-bugzilla@gcc.gnu.org
Sat Mar 13 03:04:00 GMT 2010



------- Comment #2 from wilson at codesourcery dot com  2010-03-13 03:03 -------
Subject: Re:  [ia64] Inappropriate address spills

This broke between gcc-4.0.0 and gcc-4.1.2.  It appears to be the patch
for PR 28490.  There is a test in ia64_legitimate_constant_p for symbol
+offset, where we require that the offset have the low 14-bits be zero
which is not at all what we intended to test for.  This should be a test
for an offset that fits into a short add immediate instruction, which
takes a signed-14 bit value, aka CONST_OK_FOR_I, or, hmm, let's look
that up, I guess that would be satisfies_constraint_I nowadays.  Except
that satisfies_constraint_I wants an rtx, and we have an integer, so it
might be simpler to just substitute in the right arithmetic for the
constant check.  I'll attach an untested patch that works for the
testcase.

Jim


-- 


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



More information about the Gcc-bugs mailing list