From cef1c1bac1d3418354c1016599b40455505ec599 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 8 Oct 2002 23:50:56 +0000 Subject: [PATCH] * libgcc2.c (__floatdisf): Properly cure double rounding. From-SVN: r57965 --- gcc/ChangeLog | 4 ++++ gcc/libgcc2.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) 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 + + * libgcc2.c (__floatdisf): Properly cure double rounding. + 2002-10-09 Gabriel Dos Reis 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);