On 16 March 2007 15:30, Richard Sandiford wrote:

> Jim Wilson <[EMAIL PROTECTED]> writes:
>> Dave Korn wrote:
>>>   But it is ok to use a define_expand (that accepts all alternatives) for
>>> movsf and use that to generate one of several movsf_XXXX insns, isn't it?
>> 
>> Reload doesn't use the move define_expands.  It can't.  A define_expand
>> is allowed to do stuff like generate new RTL that would completely mess
>> up what reload is trying to do.
> 
> That isn't unconditionally true, is it?  reload1.c:gen_reload
> uses gen_move_insn, which is just a start_sequence/end_sequence
> wrapper for emit_move_insn_1, which in turn calls the move expanders.

  Yes, in fact isn't this the reason why you have to take great care in movMM
expanders to check for no_new_pseudos?  It may or may not be technically
correct, but it's certainly the standard practice for movDI - almost every
backend uses an expander instead of an insn.

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....

Reply via email to