From 315a43aa949b25896c511fa6e2efd6be57e2e01d Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 29 Aug 2008 07:42:08 +0000 Subject: Updated to fedora-glibc-20080828T1623 --- sysdeps/x86_64/fpu/s_expm1l.S | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'sysdeps/x86_64/fpu') diff --git a/sysdeps/x86_64/fpu/s_expm1l.S b/sysdeps/x86_64/fpu/s_expm1l.S index b4f5a3efda..05a1bfcce1 100644 --- a/sysdeps/x86_64/fpu/s_expm1l.S +++ b/sysdeps/x86_64/fpu/s_expm1l.S @@ -1,5 +1,5 @@ /* ix87 specific implementation of exp(x)-1. - Copyright (C) 1996, 1997, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 2001, 2002, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. Based on code by John C. Bowman . @@ -48,6 +48,11 @@ l2e: .tfloat 1.442695040888963407359924681002 .text ENTRY(__expm1l) + movzwl 8+8(%rsp), %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 8(%rsp) // x fxam // Is NaN or +-Inf? fstsw %ax -- cgit v1.2.3