From 6089a3ee24cede17e9443aef0aa72fa1a0ba1548 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 22 Oct 2017 08:09:08 -0700 Subject: i386: Replace assembly versions of e_log2f with generic e_log2f.c This patch replaces i386 assembly versions of e_log2f with generic e_log2f.c. For workload-spec2017.wrf, on Nehalem, it improves performance by: Before After Improvement reciprocal-throughput 92.3845 30.8752 199% latency 112.855 54.8645 105% On Skylake, it improves performance by: Before After Improvement reciprocal-throughput 98.7488 22.7507 334% latency 118.01 51.6083 128% On IvyBridge with --disable-multi-arch, it improves performance by: Before After Improvement reciprocal-throughput 106.635 28.8596 269% latency 129.888 56.9187 128% * sysdeps/i386/fpu/e_log2f.S: Removed. * sysdeps/i386/fpu/e_log2f_data.c: Likewise. * sysdeps/i386/fpu/w_log2f.c: Likewise. * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_log2f.c. * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): Add e_log2f-sse2. (CFLAGS-e_log2f-sse2.c): New. * sysdeps/i386/i686/fpu/multiarch/e_log2f-sse2.c: New file. * sysdeps/i386/i686/fpu/multiarch/e_log2f.c: Likewise. --- sysdeps/i386/i686/fpu/multiarch/e_log2f-sse2.c | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 sysdeps/i386/i686/fpu/multiarch/e_log2f-sse2.c (limited to 'sysdeps/i386/i686/fpu/multiarch/e_log2f-sse2.c') diff --git a/sysdeps/i386/i686/fpu/multiarch/e_log2f-sse2.c b/sysdeps/i386/i686/fpu/multiarch/e_log2f-sse2.c new file mode 100644 index 0000000000..a9ed25e399 --- /dev/null +++ b/sysdeps/i386/i686/fpu/multiarch/e_log2f-sse2.c @@ -0,0 +1,3 @@ +#define __log2f __log2f_sse2 + +#include -- cgit 1.4.1