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))

Reply via email to