diff options
author | Ulrich Drepper <drepper@redhat.com> | 2008-08-05 22:08:42 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2008-08-05 22:08:42 +0000 |
commit | 9523fd28069af5a1045360cdb990257b595006ee (patch) | |
tree | 79ea9dd83fe4a7a994c976ed78d372a969a494a8 /sysdeps/i386/fpu/s_expm1l.S | |
parent | c400c931b8285d05c8b99918e7bab2d6b3f21f30 (diff) | |
download | glibc-9523fd28069af5a1045360cdb990257b595006ee.tar.gz glibc-9523fd28069af5a1045360cdb990257b595006ee.tar.xz glibc-9523fd28069af5a1045360cdb990257b595006ee.zip |
* sysdeps/i386/fpu/s_expm1l.S: Simply use exp implementation for large
parameters. * sysdeps/x86_64/fpu/s_expm1l.S: Likewise. Patch by Denys Vlasenko <dvlasenk@redhat.com>. * nscd/connections.c (nscd_init): Typo in preprocessor directive.
Diffstat (limited to 'sysdeps/i386/fpu/s_expm1l.S')
-rw-r--r-- | sysdeps/i386/fpu/s_expm1l.S | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sysdeps/i386/fpu/s_expm1l.S b/sysdeps/i386/fpu/s_expm1l.S index 2dc379b790..b69b22bc62 100644 --- a/sysdeps/i386/fpu/s_expm1l.S +++ b/sysdeps/i386/fpu/s_expm1l.S @@ -1,5 +1,5 @@ /* ix87 specific implementation of exp(x)-1. - Copyright (C) 1996, 1997, 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 2002, 2005, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. Based on code by John C. Bowman <bowman@ipp-garching.mpg.de>. @@ -48,6 +48,11 @@ l2e: .tfloat 1.442695040888963407359924681002 .text ENTRY(__expm1l) + movzwl 4+8(%esp), %eax // load sign bit and 15-bit exponent + xorb $0x80, %ah // invert sign bit (now 1 is "positive") + cmpl $0xc006, %eax // is num positive and exp >= 6 (number is >= 128.0)? + jae __ieee754_expl // (if num is denormal, it is at least >= 64.0) + fldt 4(%esp) // x fxam // Is NaN or +-Inf? fstsw %ax |