diff options
author | Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE> | 1998-02-22 19:44:08 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-02-22 12:44:08 -0700 |
commit | 6afaaa98053b41647d6b39385b2bbd897d1c9407 (patch) | |
tree | ac9123fbe55e5f400f0b3c7454f89deac6532ec9 | |
parent | ffaffba589a38db746b1edaac0d174fe5f1358b0 (diff) | |
download | gcc-6afaaa98053b41647d6b39385b2bbd897d1c9407.tar.gz |
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.
From-SVN: r18192
-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 a55b878250b..8dfec412117 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sun Feb 22 20:46: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. + Sun Feb 22 20:06:34 1998 Jim Wilson <wilson@cygnus.com> * iris5.h (DWARF2_UNWIND_INFO): Define to 0. diff --git a/gcc/expr.c b/gcc/expr.c index 02ce45fe9fb..75eda425397 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -2259,6 +2259,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) |