about summary refs log tree commit diff
path: root/sysdeps/i386
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-22 07:49:36 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-22 07:49:55 -0700
commite1f59bebd885c442c14df3554da9fe08792ce7ce (patch)
tree2a8d4b88a4373cc77e4085d050d806b7bd216549 /sysdeps/i386
parenta159b53fa059947cc2548e3b0d5bdcf7b9630ba8 (diff)
downloadglibc-e1f59bebd885c442c14df3554da9fe08792ce7ce.tar.gz
glibc-e1f59bebd885c442c14df3554da9fe08792ce7ce.tar.xz
glibc-e1f59bebd885c442c14df3554da9fe08792ce7ce.zip
x86-64: Replace assembly versions of e_expf with generic e_expf.c
This patch replaces x86-64 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      36.039           20.7749       73%
latency                    58.8096          40.8715       43%

On Skylake, it improves

                           Before            After     Improvement
reciprocal-throughput      18.4436          11.1693       65%
latency                    47.5162          37.5411       26%

	* 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.
	* sysdeps/x86_64/fpu/libm-test-ulps: Updated for generic
	e_expf.c.
	* sysdeps/x86_64/fpu/multiarch/Makefile (CFLAGS-e_expf-fma.c):
	New.
	* sysdeps/x86_64/fpu/multiarch/e_expf-fma.c: New file.
	* sysdeps/x86_64/fpu/multiarch/e_expf.c (__redirect_ieee754_expf):
	Renamed to ...
	(__redirect_expf): This.
	(SYMBOL_NAME): Changed to expf.
	(__ieee754_expf): Renamed to ...
	(__expf): This.
	(__GI___expf): This.
	(__ieee754_expf): Add strong_alias.
	(__expf_finite): Likewise.
	(__expf): New.
	Include <sysdeps/ieee754/flt-32/e_expf.c>.
Diffstat (limited to 'sysdeps/i386')
0 files changed, 0 insertions, 0 deletions