(expand_float): Copy TEMP to TARGET when making recursive call and
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 10 Oct 1994 22:46:30 +0000 (18:46 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 10 Oct 1994 22:46:30 +0000 (18:46 -0400)
adjusting.

From-SVN: r8247

gcc/optabs.c

index 5c9c28b27a18bcf2333099745716b421f9c1efea..09f7773171bc1dd2c8b8bafec5fab5a08fb89ec9 100644 (file)
@@ -3239,8 +3239,11 @@ expand_float (to, from, unsignedp)
              expand_float (target, temp, 0);
 
              /* Multiply by 2 to undo the shift above.  */
-             target = expand_binop (fmode, add_optab, target, target,
+             temp = expand_binop (fmode, add_optab, target, target,
                                     target, 0, OPTAB_LIB_WIDEN);
+             if (temp != target)
+               emit_move_insn (target, temp);
+
              do_pending_stack_adjust ();
              emit_label (label);
              goto done;