diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-10-10 18:46:30 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-10-10 18:46:30 -0400 |
commit | a93738eb45d6c0fc40f067bb6b23346602a2d7d0 (patch) | |
tree | e565440e445a2b624e7df76c5d77b13c01cb46fd /gcc | |
parent | 6c2afd8219ebc69977f594e80def4a7a3add8c3d (diff) | |
download | gcc-a93738eb45d6c0fc40f067bb6b23346602a2d7d0.zip gcc-a93738eb45d6c0fc40f067bb6b23346602a2d7d0.tar.gz gcc-a93738eb45d6c0fc40f067bb6b23346602a2d7d0.tar.bz2 |
(expand_float): Copy TEMP to TARGET when making recursive call and
adjusting.
From-SVN: r8247
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/optabs.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index 5c9c28b..09f7773 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -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; |