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 hjl/expf/master updated. glibc-2.26-110-g5a56ddf


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, hjl/expf/master has been updated
       via  5a56ddfab28a2e4f3a6d97f0aba9fc8c8d60ea44 (commit)
       via  ca8de64be31d2ff2eecd19088e3a3d7311b1f43a (commit)
       via  3c4343b1df453bc39d1d9fd4e06e99666d8306d4 (commit)
      from  a13f5e6e34a6160607c8ce9448c618b9ae024364 (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=5a56ddfab28a2e4f3a6d97f0aba9fc8c8d60ea44

commit 5a56ddfab28a2e4f3a6d97f0aba9fc8c8d60ea44
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 15 11:43:31 2017 -0700

    Use one more FMA in e_expf-fma.S

diff --git a/sysdeps/x86_64/fpu/multiarch/e_expf-fma.S b/sysdeps/x86_64/fpu/multiarch/e_expf-fma.S
index 5d338ea..0b99a65 100644
--- a/sysdeps/x86_64/fpu/multiarch/e_expf-fma.S
+++ b/sysdeps/x86_64/fpu/multiarch/e_expf-fma.S
@@ -161,8 +161,7 @@ L(near_under_or_overflow):
 	vaddsd	L(DP_P0)(%rip), %xmm3, %xmm3/* DP P2*z+P0 */
 	vmovd	%rdx, %xmm1		/* DP 2^n */
 	vmulsd	%xmm2, %xmm4, %xmm4	/* DP (P3*z+P1)*z */
-	vmulsd	%xmm3, %xmm0, %xmm0	/* DP (P2*z+P0)*y */
-	vaddsd	%xmm4, %xmm0, %xmm0	/* DP P(y) */
+	vfmadd213sd %xmm4, %xmm3, %xmm0	/* DP (P2*z+P0)*y */
 	vmulsd	(%rsi,%rax,8), %xmm0, %xmm0/* DP P(y)*T[j] */
 	vaddsd	(%rsi,%rax,8), %xmm0, %xmm0/* DP T[j]*(P(y)+1) */
 	vmulsd	%xmm1, %xmm0, %xmm0	/* DP result=2^n*(T[j]*(P(y)+1)) */

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=ca8de64be31d2ff2eecd19088e3a3d7311b1f43a

commit ca8de64be31d2ff2eecd19088e3a3d7311b1f43a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 15 11:17:02 2017 -0700

    Update e_expf-fma.S

diff --git a/sysdeps/x86_64/fpu/multiarch/e_expf-fma.S b/sysdeps/x86_64/fpu/multiarch/e_expf-fma.S
index e158e23..5d338ea 100644
--- a/sysdeps/x86_64/fpu/multiarch/e_expf-fma.S
+++ b/sysdeps/x86_64/fpu/multiarch/e_expf-fma.S
@@ -94,7 +94,7 @@ ENTRY(__ieee754_expf_fma)
 	.p2align	4
 L(small_arg):
 	/* Here if 0<=|x|<2^(-28) */
-	addss	L(SP_ONE)(%rip), %xmm0	/* 1.0 + x */
+	vaddss	L(SP_ONE)(%rip), %xmm0, %xmm0	/* 1.0 + x */
 	/* Return 1.0 with inexact raised, except for x==0 */
 	ret
 
@@ -111,7 +111,7 @@ L(special_paths):
 	jae	L(arg_inf_or_nan)
 
 	/* Here if |x|>under/overflow bound, and x is finite */
-	testq	%rax, %rax		/* sign of x nonzero ? */
+	testl	%eax, %eax		/* sign of x nonzero ? */
 	je	L(res_overflow)
 
 	/* Here if -inf<x<underflow bound (x<0) */
@@ -146,7 +146,7 @@ L(arg_nan):
 L(near_under_or_overflow):
 	/* Here if 125*log(2)<=|x|<under/overflow bound */
 	vmovq	%xmm2, %rax		/* bits of n*K+j with trash */
-	vsubsd	  L(DP_RD)(%rip), %xmm2, %xmm2 	/* DP t=round(x*K/log(2)) */
+	vsubsd	L(DP_RD)(%rip), %xmm2, %xmm2 	/* DP t=round(x*K/log(2)) */
 	movl	%eax, %edx		/* n*K+j with trash */
 	andl	$0x3f, %eax		/* bits of j */
 	vmulsd	L(DP_NLN2K)(%rip),%xmm2, %xmm2/* DP -t*log(2)/K */
@@ -159,7 +159,7 @@ L(near_under_or_overflow):
 	shlq	$46, %rdx		/* DP 2^n */
 	vaddsd	L(DP_P1)(%rip), %xmm4, %xmm4/* DP P3*z+P1 */
 	vaddsd	L(DP_P0)(%rip), %xmm3, %xmm3/* DP P2*z+P0 */
-	movd	%rdx, %xmm1		/* DP 2^n */
+	vmovd	%rdx, %xmm1		/* DP 2^n */
 	vmulsd	%xmm2, %xmm4, %xmm4	/* DP (P3*z+P1)*z */
 	vmulsd	%xmm3, %xmm0, %xmm0	/* DP (P2*z+P0)*y */
 	vaddsd	%xmm4, %xmm0, %xmm0	/* DP P(y) */
@@ -288,12 +288,7 @@ L(DP_P0): /* double precision polynomial coefficient P0 */
 	.type L(DP_P0), @object
 	ASM_SIZE_DIRECTIVE(L(DP_P0))
 
-	.p2align 2
-L(SP_KLN2): /* single precision K/log(2) */
-	.long	0x42b8aa3b
-	.type L(SP_KLN2), @object
-	ASM_SIZE_DIRECTIVE(L(SP_KLN2))
-
+	.section .rodata.cst4,"aM",@progbits,4
 	.p2align 2
 L(SP_RANGE): /* single precision overflow/underflow bounds */
 	.long	0x42b17217	/* if x>this bound, then result overflows */
@@ -301,7 +296,6 @@ L(SP_RANGE): /* single precision overflow/underflow bounds */
 	.type L(SP_RANGE), @object
 	ASM_SIZE_DIRECTIVE(L(SP_RANGE))
 
-	.section .rodata.cst4,"aM",@progbits,4
 	.p2align 2
 L(SP_INF_0):
 	.long	0x7f800000	/* single precision Inf */

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=3c4343b1df453bc39d1d9fd4e06e99666d8306d4

commit 3c4343b1df453bc39d1d9fd4e06e99666d8306d4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 15 11:03:41 2017 -0700

    Fix x86-64: Put L(SP_INF_0) in .rodata.cst4 section

diff --git a/sysdeps/x86_64/fpu/e_expf.S b/sysdeps/x86_64/fpu/e_expf.S
index 0d84e31..29e421b 100644
--- a/sysdeps/x86_64/fpu/e_expf.S
+++ b/sysdeps/x86_64/fpu/e_expf.S
@@ -297,6 +297,7 @@ L(DP_P0): /* double precision polynomial coefficient P0 */
 	.type L(DP_P0), @object
 	ASM_SIZE_DIRECTIVE(L(DP_P0))
 
+	.section .rodata.cst4,"aM",@progbits,4
 	.p2align 2
 L(SP_RANGE): /* single precision overflow/underflow bounds */
 	.long	0x42b17217	/* if x>this bound, then result overflows */
@@ -304,7 +305,6 @@ L(SP_RANGE): /* single precision overflow/underflow bounds */
 	.type L(SP_RANGE), @object
 	ASM_SIZE_DIRECTIVE(L(SP_RANGE))
 
-	.section .rodata.cst4,"aM",@progbits,4
 	.p2align 2
 L(SP_INF_0):
 	.long	0x7f800000	/* single precision Inf */

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

Summary of changes:
 sysdeps/x86_64/fpu/e_expf.S               |    2 +-
 sysdeps/x86_64/fpu/multiarch/e_expf-fma.S |   19 ++++++-------------
 2 files changed, 7 insertions(+), 14 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]