diff options
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -41,6 +41,7 @@ along with GCC; see the file COPYING3. If not see #include "insn-attr.h" /* Include expr.h after insn-config.h so we get HAVE_conditional_move. */ #include "expr.h" +#include "insn-codes.h" #include "optabs.h" #include "libfuncs.h" #include "recog.h" @@ -3628,6 +3629,21 @@ emit_move_insn (rtx x, rtx y) return last_insn; } +/* Generate the body of an instruction to copy Y into X. + It may be a list of insns, if one insn isn't enough. */ + +rtx +gen_move_insn (rtx x, rtx y) +{ + rtx_insn *seq; + + start_sequence (); + emit_move_insn_1 (x, y); + seq = get_insns (); + end_sequence (); + return seq; +} + /* If Y is representable exactly in a narrower mode, and the target can perform the extension directly from constant or memory, then emit the move as an extension. */ |