This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.14-373-g79b195b


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  79b195b55af84a9044dfb26ebdc49d9f308829af (commit)
      from  d4a285692ae21debd4518a6d4980fa7e36d104b5 (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=79b195b55af84a9044dfb26ebdc49d9f308829af

commit 79b195b55af84a9044dfb26ebdc49d9f308829af
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Sat Oct 15 22:21:53 2011 -0400

    No need for boundary case handling in x86-32 __ieee_log

diff --git a/ChangeLog b/ChangeLog
index 426b69f..96ebe99 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2011-10-15  Ulrich Drepper  <drepper@gmail.com>
 
+	* sysdeps/i386/i686/fpu/e_log.S: No need for the fyl2xp1 use, fyl2x
+	is sufficient, at least on modern CPUs.
+
 	* sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: New file.
 
 	* sysdeps/ieee754/dbl-64/e_cosh.c: Cleanup.
diff --git a/sysdeps/i386/i686/fpu/e_log.S b/sysdeps/i386/i686/fpu/e_log.S
index c6524b1..73060b0 100644
--- a/sysdeps/i386/i686/fpu/e_log.S
+++ b/sysdeps/i386/i686/fpu/e_log.S
@@ -2,34 +2,11 @@
  * Written by J.T. Conklin <jtc@netbsd.org>.
  * Public domain.
  *
- * 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_log)
@@ -37,22 +14,6 @@ ENTRY(__ieee754_log)
 	fldl	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
 
@@ -63,18 +24,6 @@ END (__ieee754_log)
 ENTRY(__log_finite)
 	fldln2			// log(2)
 	fldl	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(__log_finite)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                     |    3 ++
 sysdeps/i386/i686/fpu/e_log.S |   53 +----------------------------------------
 2 files changed, 4 insertions(+), 52 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]