about summary refs log tree commit diff
path: root/sysdeps/i386/i686/multiarch/strncat-ssse3.S
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 /sysdeps/i386/i686/multiarch/strncat-ssse3.S
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 'sysdeps/i386/i686/multiarch/strncat-ssse3.S')
0 files changed, 0 insertions, 0 deletions