* libgcc2.c (__floatdisf): Properly cure double rounding.
authorAlan Modra <amodra@bigpond.net.au>
Tue, 8 Oct 2002 23:50:56 +0000 (23:50 +0000)
committerAlan Modra <amodra@gcc.gnu.org>
Tue, 8 Oct 2002 23:50:56 +0000 (09:20 +0930)
From-SVN: r57965

gcc/ChangeLog
gcc/libgcc2.c

index dbe5cfd4dc8804957abab7e486aa9e88189dd8f0..43077c0cffe971c5c0edbcb9ae5b872ec2acd5c1 100644 (file)
@@ -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
index 8c10689f02c34b7cfcdfe0c1e36c672df8a313eb..b1e9edc551c1ca00a81b84781d45f53b8ad27b2e 100644 (file)
@@ -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);