diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-10-22 08:01:38 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-10-22 08:02:58 -0700 |
commit | fe596486d694e657413d0d4c5a04598674ff71b1 (patch) | |
tree | baa82d03de8d66e51415ff7e0489ef7401126195 /sysdeps/i386/i686/fpu/e_logf.S | |
parent | 7eda65f69e0e4533b76ca4614fe516de03fe2b3a (diff) | |
download | glibc-fe596486d694e657413d0d4c5a04598674ff71b1.tar.gz glibc-fe596486d694e657413d0d4c5a04598674ff71b1.tar.xz glibc-fe596486d694e657413d0d4c5a04598674ff71b1.zip |
i386: Replace assembly versions of e_logf with generic e_logf.c
This patch replaces i386 assembly versions of e_logf with generic e_logf.c. For workload-spec2017.wrf, on Nehalem, it improves performance by: Before After Improvement reciprocal-throughput 73.3865 40.0454 83% latency 90.0985 54.4479 65% On Skylake, it improves performance by: Before After Improvement reciprocal-throughput 75.1384 22.1452 239% latency 91.9441 50.7925 81% On IvyBridge with --disable-multi-arch, it improves performance by: Before After Improvement reciprocal-throughput 84.5575 28.7879 193% latency 103.971 57.5231 80% * sysdeps/i386/fpu/e_logf.S: Removed. * sysdeps/i386/fpu/e_logf_data.c: Likewise. * sysdeps/i386/fpu/w_logf.c: Likewise. * sysdeps/i386/i686/fpu/e_logf.S: Likewise. * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_logf.c. * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): Add e_logf-sse2. (CFLAGS-e_logf-sse2.c): New. * sysdeps/i386/i686/fpu/multiarch/e_logf-sse2.c: New file. * sysdeps/i386/i686/fpu/multiarch/e_logf.c: Likewise.
Diffstat (limited to 'sysdeps/i386/i686/fpu/e_logf.S')
-rw-r--r-- | sysdeps/i386/i686/fpu/e_logf.S | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/sysdeps/i386/i686/fpu/e_logf.S b/sysdeps/i386/i686/fpu/e_logf.S deleted file mode 100644 index 6fd39d50d3..0000000000 --- a/sysdeps/i386/i686/fpu/e_logf.S +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Written by J.T. Conklin <jtc@netbsd.org>. - * Public domain. - * Adapted for float by Ulrich Drepper <drepper@cygnus.com>. - * - * Adapted for i686 instructions. - */ - -#include <machine/asm.h> - - - .text -ENTRY(__ieee754_logf) - fldln2 // log(2) - flds 4(%esp) // x : log(2) - fucomi %st - jp 3f - fyl2x // log(x) - ret - -3: fstp %st(1) - ret -END (__ieee754_logf) - -ENTRY(__logf_finite) - fldln2 // log(2) - flds 4(%esp) // x : log(2) - fyl2x // log(x) - ret -END(__logf_finite) |