diff options
author | Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE> | 1998-06-02 21:30:26 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-06-02 15:30:26 -0600 |
commit | 2638126a5db71d18583e3c481658b7e39844694d (patch) | |
tree | e14c6285a231ad969176c0be295ee6e6a69fffc7 | |
parent | 8fca9b9aa86399d70cce5013acd7466dcbdce613 (diff) | |
download | gcc-2638126a5db71d18583e3c481658b7e39844694d.zip gcc-2638126a5db71d18583e3c481658b7e39844694d.tar.gz gcc-2638126a5db71d18583e3c481658b7e39844694d.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d9955a6..1cd5e5b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE> + + * 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 @@ -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) |