diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-10-22 08:11:15 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-10-22 08:12:41 -0700 |
commit | 5313581cb52fd5d3d2cf222ddb6f8f86f090974f (patch) | |
tree | e2ec5d944c1089cec1de29c5c72c3fb600a8c3fb /sysdeps/i386/i686/fpu/multiarch/libm-test-ulps | |
parent | 6089a3ee24cede17e9443aef0aa72fa1a0ba1548 (diff) | |
download | glibc-5313581cb52fd5d3d2cf222ddb6f8f86f090974f.tar.gz glibc-5313581cb52fd5d3d2cf222ddb6f8f86f090974f.tar.xz glibc-5313581cb52fd5d3d2cf222ddb6f8f86f090974f.zip |
i386: Replace assembly versions of e_powf with generic e_powf.c
This patch replaces i386 assembly versions of e_powf with generic e_powf.c. For workload-spec2017.wrf, on Nehalem, it improves performance by: Before After Improvement reciprocal-throughput 230.855 78.3358 194% latency 231.685 94.1259 146% On Skylake, it improves performance by: Before After Improvement reciprocal-throughput 239.858 47.4713 405% latency 247.57 93.8798 163% On IvyBridge with --disable-multi-arch, it improves performance by: Before After Improvement reciprocal-throughput 269.078 63.3758 324% latency 271.473 102.091 165% * sysdeps/i386/fpu/e_powf.S: Removed. * sysdeps/i386/fpu/e_powf_log2_data.c: Likewise. * sysdeps/i386/fpu/w_powf.c: Likewise. * sysdeps/i386/fpu/libm-test-ulps: Updated for generic e_powf.c. * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. * sysdeps/i386/i686/fpu/multiarch/Makefile (libm-sysdep_routines): Add e_powf-sse2. (CFLAGS-e_powf-sse2.c): New. * sysdeps/i386/i686/fpu/multiarch/e_powf-sse2.c: New file. * sysdeps/i386/i686/fpu/multiarch/e_powf.c: Likewise.
Diffstat (limited to 'sysdeps/i386/i686/fpu/multiarch/libm-test-ulps')
-rw-r--r-- | sysdeps/i386/i686/fpu/multiarch/libm-test-ulps | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps index b5d74df580..26d90ec636 100644 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps @@ -2370,24 +2370,30 @@ ldouble: 1 Function: "pow_downward": double: 1 +float: 1 float128: 2 idouble: 1 +ifloat: 1 ifloat128: 2 ildouble: 4 ldouble: 4 Function: "pow_towardzero": double: 1 +float: 1 float128: 2 idouble: 1 +ifloat: 1 ifloat128: 2 ildouble: 4 ldouble: 4 Function: "pow_upward": double: 1 +float: 1 float128: 2 idouble: 1 +ifloat: 1 ifloat128: 2 ildouble: 4 ldouble: 4 @@ -2577,30 +2583,30 @@ ldouble: 5 Function: "tgamma_downward": double: 3 -float: 4 +float: 5 float128: 5 idouble: 3 -ifloat: 4 +ifloat: 5 ifloat128: 5 ildouble: 5 ldouble: 5 Function: "tgamma_towardzero": double: 4 -float: 4 +float: 5 float128: 5 idouble: 4 -ifloat: 4 +ifloat: 5 ifloat128: 5 ildouble: 5 ldouble: 5 Function: "tgamma_upward": double: 4 -float: 4 +float: 6 float128: 4 idouble: 4 -ifloat: 4 +ifloat: 6 ifloat128: 4 ildouble: 5 ldouble: 5 |