]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
expr.c (emit_move_insn_1): When moving complex values in several steps...
authorBernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
Sun, 22 Feb 1998 19:44:08 +0000 (19:44 +0000)
committerJeff Law <law@gcc.gnu.org>
Sun, 22 Feb 1998 19:44:08 +0000 (12:44 -0700)
* 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
gcc/expr.c

index a55b878250bbe7baadb778bd9925da4faa877516..8dfec4121178eb23f20b62b8ec0c291efcc9fd37 100644 (file)
@@ -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.
index 02ce45fe9fb6a5fa09792a4a722ff29ada271c70..75eda42539797dc064ba4bf4c0e040248381cb8a 100644 (file)
@@ -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)