Commit f1d94725 by Richard Kenner

(fullword move): Call output_move_const_into_data_reg.

From-SVN: r8752
parent 8dbda09a
;;- Machine description for GNU compiler, Motorola 68000 Version ;;- Machine description for GNU compiler, Motorola 68000 Version
;; Copyright (C) 1987, 1988, 1993, 1994 Free Software Foundation, Inc. ;; Copyright (C) 1987, 1988, 1993, 1994, 1995 Free Software Foundation, Inc.
;; This file is part of GNU CC. ;; This file is part of GNU CC.
...@@ -776,29 +776,8 @@ ...@@ -776,29 +776,8 @@
|| !(GET_CODE (operands[0]) == MEM || !(GET_CODE (operands[0]) == MEM
&& MEM_VOLATILE_P (operands[0])))) && MEM_VOLATILE_P (operands[0]))))
return \"clr%.l %0\"; return \"clr%.l %0\";
else if (DATA_REG_P (operands[0]) else if (DATA_REG_P (operands[0]))
&& INTVAL (operands[1]) < 128 return output_move_const_into_data_reg (operands);
&& INTVAL (operands[1]) >= -128)
{
#if defined(MOTOROLA) && !defined(CRDS)
return \"moveq%.l %1,%0\";
#else
return \"moveq %1,%0\";
#endif
}
else if (DATA_REG_P (operands[0])
/* if -256 < N < 256 but N is not in range for a moveq
N^ff will be, so use moveq #N^ff, dreg; not.b dreg. */
&& INTVAL (operands[1]) < 256
&& INTVAL (operands[1]) >= -256)
{
operands[1] = gen_rtx (CONST_INT, VOIDmode, INTVAL (operands[1]) ^ 0xff);
#if defined(MOTOROLA) && !defined(CRDS)
return \"moveq%.l %1,%0\;not%.b %0\";
#else
return \"moveq %1,%0\;not%.b %0\";
#endif
}
else if (ADDRESS_REG_P (operands[0]) else if (ADDRESS_REG_P (operands[0])
&& INTVAL (operands[1]) < 0x8000 && INTVAL (operands[1]) < 0x8000
&& INTVAL (operands[1]) >= -0x8000) && INTVAL (operands[1]) >= -0x8000)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment