On Sat, 2010-03-20 at 14:29 +0800, fanqifei wrote: > I changed the condition in "*mov_insn_mode" to below: > (register_operand(operands[0], SImode) || > register_operand(operands[1],SImode))
I think you need the same change in foor_expand_move. I.e., if neither the source or dest is a register, then you force the source into a register. If you still have the mem&const check there, then mem&mem will accidentally be accepted and generated. Jim