This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Problem with ColdFire restricted addressing modes (mode5.6combination)
On Wed, 2004-08-18 at 06:48, Peter Barada wrote:
> So why did reload generate/accept this instruction which recog will
> accept(since nonimmediate_operand/general_operand is valid for mode
> 5/6), but the constraint combination doesn't?
Reload is very complicated, and has lots of knobs. I can't always just
look at an instruction and figure out what happened. Someone has to
step through reload and see what happened.
Perhaps the problem is that the 'Q' constraint is broken. It just has a
check for (MEM (REG)). However, during reload, an unallocated
pseudo-reg is equivalent to a stack slot, so this may not be doing what
was intended. You might need to add a check, and if reload_in_progress
is true, then only accept a hard register here.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com