emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master efb5115 1/2: Omit timestamp optimization invalid on 387 FPU


From: Paul Eggert
Subject: master efb5115 1/2: Omit timestamp optimization invalid on 387 FPU
Date: Thu, 19 Mar 2020 03:11:21 -0400 (EDT)

branch: master
commit efb5115ba29d75e1227e36da3d92dc2f5c5b6257
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Omit timestamp optimization invalid on 387 FPU
    
    * src/timefns.c (frac_to_double): Omit optimization that is
    invalid on machines with excess precision (e.g., gcc x86 with 387
    FPU), because it double-rounds.  Found via ‘gcc -m32’ on x86-64.
---
 src/timefns.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/timefns.c b/src/timefns.c
index 404ce49..a9595b5 100644
--- a/src/timefns.c
+++ b/src/timefns.c
@@ -611,9 +611,6 @@ frac_to_double (Lisp_Object numerator, Lisp_Object 
denominator)
   ptrdiff_t ndig = mpz_sizeinbase (*n, FLT_RADIX);
   ptrdiff_t ddig = mpz_sizeinbase (*d, FLT_RADIX);
 
-  if (FASTER_TIMEFNS && ndig <= DBL_MANT_DIG && ddig <= DBL_MANT_DIG)
-    return mpz_get_d (*n) / mpz_get_d (*d);
-
   /* Scale with SCALE when doing integer division.  That is, compute
      (N * FLT_RADIX**SCALE) / D [or, if SCALE is negative, N / (D *
      FLT_RADIX**-SCALE)] as a bignum, convert the bignum to double,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]