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 /sysdeps/i386/i686/multiarch/rawmemchr.c | |
parent | e1f59bebd885c442c14df3554da9fe08792ce7ce (diff) | |
download | glibc-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/rawmemchr.c')
0 files changed, 0 insertions, 0 deletions