summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2002-10-08 23:50:56 +0000
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2002-10-08 23:50:56 +0000
commitf9c9dcd7f514c6c7cac606ce93d185aa0194c191 (patch)
treeafbf85473e30e011b3865a436a01ef061d53aff3
parent33ec3f6b45c1a91c806f731f4a39add2fadaabbd (diff)
downloadppe42-gcc-f9c9dcd7f514c6c7cac606ce93d185aa0194c191.tar.gz
ppe42-gcc-f9c9dcd7f514c6c7cac606ce93d185aa0194c191.zip
* libgcc2.c (__floatdisf): Properly cure double rounding.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57965 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/libgcc2.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dbe5cfd4dc8..43077c0cffe 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2002-10-09 Alan Modra <amodra@bigpond.net.au>
+
+ * libgcc2.c (__floatdisf): Properly cure double rounding.
+
2002-10-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR doc/7484
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index 8c10689f02c..b1e9edc551c 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -1091,7 +1091,10 @@ __floatdisf (DWtype u)
&& u < ((DWtype) 1 << DF_SIZE)))
{
if ((UDWtype) u & (REP_BIT - 1))
- u |= REP_BIT;
+ {
+ u &= ~ (REP_BIT - 1);
+ u |= REP_BIT;
+ }
}
}
f = (Wtype) (u >> WORD_SIZE);
OpenPOWER on IntegriCloud