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