From: Richard Stallman Date: Sun, 21 Feb 1993 06:51:56 +0000 (+0000) Subject: (gen_move_insn): Use emit_move_insn_1. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e365422628db9bfbd314fbdea7a380701c3d85de;p=gcc.git (gen_move_insn): Use emit_move_insn_1. From-SVN: r3506 --- diff --git a/gcc/optabs.c b/gcc/optabs.c index 9c14cf2e534..087dfda5a9d 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -2557,7 +2557,8 @@ have_sub2_insn (mode) 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) @@ -2565,6 +2566,7 @@ 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); @@ -2628,9 +2630,14 @@ gen_move_insn (x, 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; } /* Tables of patterns for extending one integer mode to another. */