about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-22 07:54:38 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-22 07:54:50 -0700
commitb2f6137ea570933fb4be286574cc58b794eb5b5f (patch)
treeb95f459a9090aba7854e32c454001a610f400728 /ChangeLog
parente1f59bebd885c442c14df3554da9fe08792ce7ce (diff)
downloadglibc-b2f6137ea570933fb4be286574cc58b794eb5b5f.tar.gz
glibc-b2f6137ea570933fb4be286574cc58b794eb5b5f.tar.xz
glibc-b2f6137ea570933fb4be286574cc58b794eb5b5f.zip
i386: Replace assembly versions of e_expf with generic e_expf.c
This patch replaces i386 assembly versions of e_expf with generic
e_expf.c.  For workload-spec2017.wrf, on Nehalem, it improves
performance by:

                           Before            After     Improvement
reciprocal-throughput      55.5724          40.2664       38%
latency                    80.0687          60.8517       31%

On Skylake, it improves performance by:

                           Before            After     Improvement
reciprocal-throughput      62.4056          39.4188       58%
latency                    85.5496          59.6377       43%

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

                           Before            After     Improvement
reciprocal-throughput      133.707          40.3778       231%
latency                    149.191          63.2515       135%

	* sysdeps/i386/fpu/e_exp2f_data.c: Removed.
	* sysdeps/i386/fpu/e_expf.S: Likewise.
	* sysdeps/i386/fpu/math_errf.c: Likewise.
	* sysdeps/i386/fpu/w_expf.c: Likewise.
	* sysdeps/i386/i686/fpu/multiarch/e_expf-ia32.S: Likewise.
	* sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: Likewise.
	* sysdeps/i386/i686/fpu/multiarch/w_expf.c: Likewise.
	* sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_expf.c.
	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
	* sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines):
	Remove e_expf-ia32.
	(CFLAGS-e_expf-sse2.c): New.
	* sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.c: New file.
	* sysdeps/i386/i686/fpu/multiarch/e_expf.c: Rewritten.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog17
1 files changed, 17 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 49de6bf304..5aca573e59 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
 2017-10-22  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* sysdeps/i386/fpu/e_exp2f_data.c: Removed.
+	* sysdeps/i386/fpu/e_expf.S: Likewise.
+	* sysdeps/i386/fpu/math_errf.c: Likewise.
+	* sysdeps/i386/fpu/w_expf.c: Likewise.
+	* sysdeps/i386/i686/fpu/multiarch/e_expf-ia32.S: Likewise.
+	* sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: Likewise.
+	* sysdeps/i386/i686/fpu/multiarch/w_expf.c: Likewise.
+	* sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_expf.c.
+	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
+	* sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines):
+	Remove e_expf-ia32.
+	(CFLAGS-e_expf-sse2.c): New.
+	* sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.c: New file.
+	* sysdeps/i386/i686/fpu/multiarch/e_expf.c: Rewritten.
+
+2017-10-22  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/x86_64/fpu/e_expf.S: Removed.
 	* sysdeps/x86_64/fpu/multiarch/e_expf-fma.S: Likewise.
 	* sysdeps/x86_64/fpu/w_expf.c: Likewise.