diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-09-23 11:26:40 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-09-23 11:26:40 +0000 |
commit | 918d1f843d6267532a927b84ddc6edeb0f078424 (patch) | |
tree | 5322c133c0c23606e6e772dc8dde12ffbf740a96 /gcc/real.c | |
parent | ae3df4f91034f0d487d7dc81d22b144a6672dd6e (diff) | |
download | ppe42-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.c | 6 |
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); } } |