Committed.
* config/mep/mep.c (mep_legitimize_arg): Leave control registers
alone too.
Index: config/mep/mep.c
===================================================================
--- config/mep/mep.c (revision 149868)
+++ config/mep/mep.c (working copy)
@@ -6201,13 +6201,15 @@ mep_legitimize_arg (const struct insn_op
The caller will copy this value into ARG after the main
instruction. By doing this always, we produce slightly more
optimal code. */
/* But not for control registers. */
if (operand->constraint[0] == '='
&& (! REG_P (arg)
- || ! (CCR_REGNO_P (REGNO (arg)) || CR_REGNO_P (REGNO (arg)))
+ || ! (CONTROL_REGNO_P (REGNO (arg))
+ || CCR_REGNO_P (REGNO (arg))
+ || CR_REGNO_P (REGNO (arg)))
))
return gen_reg_rtx (operand->mode);
/* Try simple mode punning. */
arg = mep_convert_arg (operand->mode, arg);
if (operand->predicate (arg, operand->mode))