summary refs log tree commit diff
path: root/sysdeps/i386/fpu/libm-test-ulps
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-22 08:01:38 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-22 08:02:58 -0700
commitfe596486d694e657413d0d4c5a04598674ff71b1 (patch)
treebaa82d03de8d66e51415ff7e0489ef7401126195 /sysdeps/i386/fpu/libm-test-ulps
parent7eda65f69e0e4533b76ca4614fe516de03fe2b3a (diff)
downloadglibc-fe596486d694e657413d0d4c5a04598674ff71b1.tar.gz
glibc-fe596486d694e657413d0d4c5a04598674ff71b1.tar.xz
glibc-fe596486d694e657413d0d4c5a04598674ff71b1.zip
i386: Replace assembly versions of e_logf with generic e_logf.c
This patch replaces i386 assembly versions of e_logf with generic
e_logf.c.  For workload-spec2017.wrf, on Nehalem, it improves
performance by:

                           Before            After     Improvement
reciprocal-throughput      73.3865          40.0454       83%
latency                    90.0985          54.4479       65%

On Skylake, it improves performance by:

                           Before            After     Improvement
reciprocal-throughput      75.1384          22.1452       239%
latency                    91.9441          50.7925       81%

On IvyBridge with --disable-multi-arch, it improves performance by:

                           Before            After     Improvement
reciprocal-throughput      84.5575          28.7879       193%
latency                    103.971          57.5231       80%

	* sysdeps/i386/fpu/e_logf.S: Removed.
	* sysdeps/i386/fpu/e_logf_data.c: Likewise.
	* sysdeps/i386/fpu/w_logf.c: Likewise.
	* sysdeps/i386/i686/fpu/e_logf.S: Likewise.
	* sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_logf.c.
	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
	* sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines):
	Add e_logf-sse2.
	(CFLAGS-e_logf-sse2.c): New.
	* sysdeps/i386/i686/fpu/multiarch/e_logf-sse2.c: New file.
	* sysdeps/i386/i686/fpu/multiarch/e_logf.c: Likewise.
Diffstat (limited to 'sysdeps/i386/fpu/libm-test-ulps')
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps20
1 files changed, 10 insertions, 10 deletions
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 0aa18ea9b7..ba9b9ec00f 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -2000,17 +2000,17 @@ ldouble: 4
 
 Function: "gamma_downward":
 double: 4
-float: 4
+float: 5
 idouble: 4
-ifloat: 4
+ifloat: 5
 ildouble: 7
 ldouble: 7
 
 Function: "gamma_towardzero":
 double: 4
-float: 2
+float: 3
 idouble: 4
-ifloat: 2
+ifloat: 3
 ildouble: 7
 ldouble: 7
 
@@ -2186,20 +2186,20 @@ ldouble: 4
 
 Function: "lgamma_downward":
 double: 4
-float: 4
+float: 5
 float128: 8
 idouble: 4
-ifloat: 4
+ifloat: 5
 ifloat128: 8
 ildouble: 7
 ldouble: 7
 
 Function: "lgamma_towardzero":
 double: 4
-float: 2
+float: 3
 float128: 5
 idouble: 4
-ifloat: 2
+ifloat: 3
 ifloat128: 5
 ildouble: 7
 ldouble: 7
@@ -2641,10 +2641,10 @@ ldouble: 5
 
 Function: "y0_towardzero":
 double: 2
-float: 2
+float: 3
 float128: 3
 idouble: 2
-ifloat: 2
+ifloat: 3
 ifloat128: 3
 ildouble: 5
 ldouble: 5