Problem with ColdFire restricted addressing modes (mode5.6 combination)
James E Wilson
wilson@specifixinc.com
Thu Aug 19 01:42:00 GMT 2004
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
More information about the Gcc
mailing list