return sub_optab->handlers[(int) mode].insn_code != CODE_FOR_nothing;
}
-/* Generate the body of an instruction to copy Y into X. */
+/* Generate the body of an instruction to copy Y into X.
+ It may be a SEQUENCE, if one insn isn't enough. */
rtx
gen_move_insn (x, y)
{
register enum machine_mode mode = GET_MODE (x);
enum insn_code insn_code;
+ rtx seq;
if (mode == VOIDmode)
mode = GET_MODE (y);
}
insn_code = mov_optab->handlers[(int) tmode].insn_code;
+ return (GEN_FCN (insn_code) (x, y));
}
- return (GEN_FCN (insn_code) (x, y));
+ start_sequence ();
+ emit_move_insn_1 (x, y);
+ seq = gen_sequence ();
+ end_sequence ();
+ return seq;
}
\f
/* Tables of patterns for extending one integer mode to another. */