diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-10-22 07:54:38 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-10-22 07:54:50 -0700 |
commit | b2f6137ea570933fb4be286574cc58b794eb5b5f (patch) | |
tree | b95f459a9090aba7854e32c454001a610f400728 /bits/byteswap.h | |
parent | e1f59bebd885c442c14df3554da9fe08792ce7ce (diff) | |
download | glibc-b2f6137ea570933fb4be286574cc58b794eb5b5f.tar glibc-b2f6137ea570933fb4be286574cc58b794eb5b5f.tar.gz glibc-b2f6137ea570933fb4be286574cc58b794eb5b5f.tar.bz2 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 'bits/byteswap.h')
0 files changed, 0 insertions, 0 deletions