This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.14-369-gba1a0d5
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 15 Oct 2011 22:09:40 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.14-369-gba1a0d5
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via ba1a0d5938b53454a249d679ab90baf541cd91ad (commit)
from e9b25bd9303436af1de65afea4e984b640b2c81d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=ba1a0d5938b53454a249d679ab90baf541cd91ad
commit ba1a0d5938b53454a249d679ab90baf541cd91ad
Author: Ulrich Drepper <drepper@gmail.com>
Date: Sat Oct 15 18:09:12 2011 -0400
No need for boundary case handling in x86-32 __ieee_logf
diff --git a/ChangeLog b/ChangeLog
index 3e71646..44580a5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2011-10-15 Ulrich Drepper <drepper@gmail.com>
+ * sysdeps/i386/i686/fpu/e_logf.S: No need for the fyl2xp1 use, fyl2x
+ is sufficient, at least on modern CPUs.
+
* ctype/ctype-info.c (__ctype_init): Define.
* include/ctype.h (__ctype_init): Declare.
(__ctype_b_loc): The variable is always initialized.
diff --git a/sysdeps/i386/i686/fpu/e_logf.S b/sysdeps/i386/i686/fpu/e_logf.S
index 64f8807..6fd39d5 100644
--- a/sysdeps/i386/i686/fpu/e_logf.S
+++ b/sysdeps/i386/i686/fpu/e_logf.S
@@ -3,34 +3,11 @@
* Public domain.
* Adapted for float by Ulrich Drepper <drepper@cygnus.com>.
*
- * Changed to use fyl2xp1 for values near 1, <drepper@cygnus.com>.
* Adapted for i686 instructions.
*/
#include <machine/asm.h>
-#ifdef __ELF__
- .section .rodata.cst8,"aM",@progbits,8
-#else
- .text
-#endif
- .p2align 3
- ASM_TYPE_DIRECTIVE(one,@object)
-one: .double 1.0
- ASM_SIZE_DIRECTIVE(one)
- /* It is not important that this constant is precise. It is only
- a value which is known to be on the safe side for using the
- fyl2xp1 instruction. */
- ASM_TYPE_DIRECTIVE(limit,@object)
-limit: .double 0.29
- ASM_SIZE_DIRECTIVE(limit)
-
-
-#ifdef PIC
-# define MO(op) op##@GOTOFF(%edx)
-#else
-# define MO(op) op
-#endif
.text
ENTRY(__ieee754_logf)
@@ -38,22 +15,6 @@ ENTRY(__ieee754_logf)
flds 4(%esp) // x : log(2)
fucomi %st
jp 3f
-#ifdef PIC
- LOAD_PIC_REG (dx)
-#endif
- fld %st // x : x : log(2)
- fsubl MO(one) // x-1 : x : log(2)
- fld %st // x-1 : x-1 : x : log(2)
- fabs // |x-1| : x-1 : x : log(2)
- fld MO(limit) // 0.29 : |x-1| : x-1 : x : log(2)
- fcomip %st(1) // |x-1| : x-1 : x : log(2)
- fstp %st(0) // x-1 : x : log(2)
- jc 2f
- fstp %st(1) // x-1 : log(2)
- fyl2xp1 // log(x)
- ret
-
-2: fstp %st(0) // x : log(2)
fyl2x // log(x)
ret
@@ -64,18 +25,6 @@ END (__ieee754_logf)
ENTRY(__logf_finite)
fldln2 // log(2)
flds 4(%esp) // x : log(2)
-#ifdef PIC
- LOAD_PIC_REG (dx)
-#endif
- fld %st // x : x : log(2)
- fsubl MO(one) // x-1 : x : log(2)
- fld %st // x-1 : x-1 : x : log(2)
- fabs // |x-1| : x-1 : x : log(2)
- fld MO(limit) // 0.29 : |x-1| : x-1 : x : log(2)
- fcomip %st(1) // |x-1| : x-1 : x : log(2)
- fstp %st(0) // x-1 : x : log(2)
- jc 2b
- fstp %st(1) // x-1 : log(2)
- fyl2xp1 // log(x)
+ fyl2x // log(x)
ret
END(__logf_finite)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 3 ++
sysdeps/i386/i686/fpu/e_logf.S | 53 +---------------------------------------
2 files changed, 4 insertions(+), 52 deletions(-)
hooks/post-receive
--
GNU C Library master sources