summaryrefslogtreecommitdiffstats
path: root/gcc/real.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-23 11:26:40 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-23 11:26:40 +0000
commit918d1f843d6267532a927b84ddc6edeb0f078424 (patch)
tree5322c133c0c23606e6e772dc8dde12ffbf740a96 /gcc/real.c
parentae3df4f91034f0d487d7dc81d22b144a6672dd6e (diff)
downloadppe42-gcc-918d1f843d6267532a927b84ddc6edeb0f078424.tar.gz
ppe42-gcc-918d1f843d6267532a927b84ddc6edeb0f078424.zip
* real.c (do_multiply): Normalize U before addition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57435 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/real.c')
-rw-r--r--gcc/real.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/real.c b/gcc/real.c
index 1f73f9de2e9..ad0b160f3d5 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -741,9 +741,6 @@ do_multiply (r, a, b)
rr = r;
get_zero (rr, 0);
- u.class = rvc_normal;
- u.sign = 0;
-
/* Collect all the partial products. Since we don't have sure access
to a widening multiply, we split each long into two half-words.
@@ -784,6 +781,8 @@ do_multiply (r, a, b)
/* Would underflow to zero, which we shouldn't bother adding. */
continue;
+ u.class = rvc_normal;
+ u.sign = 0;
u.exp = exp;
for (k = j; k < SIGSZ * 2; k += 2)
@@ -797,6 +796,7 @@ do_multiply (r, a, b)
u.sig[k / 2] = ai * bi;
}
+ normalize (&u);
do_add (rr, rr, &u, 0);
}
}
OpenPOWER on IntegriCloud