From: Paul Eggert Date: Wed, 18 Mar 2020 21:48:52 +0000 (-0700) Subject: Omit timestamp optimization invalid on 387 FPU X-Git-Tag: emacs-28.0.90~7746 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=efb5115ba29d75e1227e36da3d92dc2f5c5b6257;p=emacs.git 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. --- diff --git a/src/timefns.c b/src/timefns.c index 404ce4973b7..a9595b5d239 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,