From 6afaaa98053b41647d6b39385b2bbd897d1c9407 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Sun, 22 Feb 1998 19:44:08 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/expr.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a55b878250bb..8dfec4121178 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sun Feb 22 20:46: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. + Sun Feb 22 20:06:34 1998 Jim Wilson * iris5.h (DWARF2_UNWIND_INFO): Define to 0. diff --git a/gcc/expr.c b/gcc/expr.c index 02ce45fe9fb6..75eda4253979 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) -- 2.47.2