From: Bernd Schmidt Date: Tue, 2 Jun 1998 21:30:26 +0000 (+0000) Subject: expr.c (emit_move_insn_1): When moving complex values in several steps... X-Git-Tag: prereleases/egcs-1.1-prerelease~962 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2638126a5db71d18583e3c481658b7e39844694d;p=thirdparty%2Fgcc.git expr.c (emit_move_insn_1): When moving complex values in several steps... * expr.c (emit_move_insn_1): When moving complex values in several steps, emit a CLOBBER to show the destination dies. Re-add patch. From-SVN: r20195 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d9955a665bf0..1cd5e5b13a4e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Jun 2 22:28:31 1998 Bernd Schmidt + + * expr.c (emit_move_insn_1): When moving complex values in several + steps, emit a CLOBBER to show the destination dies. + Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com) * expr.c (expand_expr, case ADDR_EXPR): Handle taking the diff --git a/gcc/expr.c b/gcc/expr.c index 2aa514bd9941..3370b5d88913 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -2288,6 +2288,10 @@ emit_move_insn_1 (x, y) } else { + /* Show the output dies here. */ + if (x != y) + emit_insn (gen_rtx (CLOBBER, VOIDmode, x)); + emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code) (gen_realpart (submode, x), gen_realpart (submode, y))); emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)