This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 0/4] Optimized generic expf and exp2f
- From: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Cc: nd at arm dot com
- Date: Wed, 13 Sep 2017 11:43:43 +0100
- Subject: [PATCH 0/4] Optimized generic expf and exp2f
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs dot Nagy at arm dot com;
- Nodisclaimer: True
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
broke down the expf patch into 4 parts.
build-many-glibcs is still running i'll report the
results once it's finished.
Szabolcs Nagy (4):
Optimized generic expf and exp2f with wrappers
Move exp compat wrappers under math/
New expf and exp2f version without SVID compat wrapper
Do not wrap expf and exp2f
math/Makefile | 2 +-
math/Versions | 3 +
math/w_exp2f.c | 7 +
math/w_exp2f_compat.c | 6 +-
{sysdeps/ieee754/dbl-64 => math}/w_exp_compat.c | 0
math/w_expf.c | 7 +
{sysdeps/ieee754/flt-32 => math}/w_expf_compat.c | 7 +-
math/w_expl_compat.c | 48 ++-
sysdeps/aarch64/fpu/math_private.h | 20 ++
sysdeps/i386/fpu/e_exp2f_data.c | 1 +
sysdeps/i386/fpu/math_errf.c | 1 +
sysdeps/i386/fpu/w_exp2f.c | 1 +
sysdeps/i386/fpu/w_expf.c | 1 +
sysdeps/i386/i686/fpu/multiarch/w_expf.c | 1 +
sysdeps/ia64/fpu/e_exp2f_data.c | 1 +
sysdeps/ia64/fpu/math_errf.c | 1 +
sysdeps/ieee754/flt-32/e_exp2f.c | 177 ++++-------
sysdeps/ieee754/flt-32/e_exp2f_data.c | 44 +++
sysdeps/ieee754/flt-32/e_expf.c | 193 +++++------
sysdeps/ieee754/flt-32/math_config.h | 114 +++++++
sysdeps/ieee754/flt-32/math_errf.c | 76 +++++
sysdeps/ieee754/flt-32/t_exp2f.h | 351 ---------------------
sysdeps/ieee754/flt-32/w_exp2f.c | 1 +
sysdeps/ieee754/flt-32/w_expf.c | 1 +
sysdeps/ieee754/ldbl-128/w_expl_compat.c | 45 ---
sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c | 24 --
sysdeps/ieee754/ldbl-96/w_expl_compat.c | 37 ---
sysdeps/ieee754/ldbl-opt/w_exp_compat.c | 2 +-
.../{ldbl-64-128 => ldbl-opt}/w_expl_compat.c | 2 +-
sysdeps/m68k/m680x0/fpu/w_expf.c | 1 +
.../powerpc/powerpc64/fpu/multiarch/e_expf-ppc64.c | 7 +-
sysdeps/powerpc/powerpc64/fpu/multiarch/w_expf.c | 1 +
sysdeps/unix/sysv/linux/aarch64/libm.abilist | 3 +
sysdeps/unix/sysv/linux/alpha/libm.abilist | 3 +
sysdeps/unix/sysv/linux/arm/libm.abilist | 3 +
sysdeps/unix/sysv/linux/hppa/libm.abilist | 3 +
sysdeps/unix/sysv/linux/i386/libm.abilist | 3 +
sysdeps/unix/sysv/linux/ia64/libm.abilist | 3 +
sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 3 +
sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist | 3 +
sysdeps/unix/sysv/linux/microblaze/libm.abilist | 3 +
sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 3 +
sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 3 +
sysdeps/unix/sysv/linux/nios2/libm.abilist | 3 +
.../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 3 +
.../linux/powerpc/powerpc32/nofpu/libm.abilist | 3 +
.../sysv/linux/powerpc/powerpc64/libm-le.abilist | 3 +
.../unix/sysv/linux/powerpc/powerpc64/libm.abilist | 3 +
sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 3 +
sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 3 +
sysdeps/unix/sysv/linux/sh/libm.abilist | 3 +
sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 3 +
sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 3 +
.../sysv/linux/tile/tilegx/tilegx32/libm.abilist | 3 +
.../sysv/linux/tile/tilegx/tilegx64/libm.abilist | 3 +
sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist | 3 +
sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 3 +
sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 3 +
sysdeps/x86_64/fpu/w_expf.c | 1 +
59 files changed, 567 insertions(+), 695 deletions(-)
create mode 100644 math/w_exp2f.c
rename {sysdeps/ieee754/dbl-64 => math}/w_exp_compat.c (100%)
create mode 100644 math/w_expf.c
rename {sysdeps/ieee754/flt-32 => math}/w_expf_compat.c (88%)
create mode 100644 sysdeps/i386/fpu/e_exp2f_data.c
create mode 100644 sysdeps/i386/fpu/math_errf.c
create mode 100644 sysdeps/i386/fpu/w_exp2f.c
create mode 100644 sysdeps/i386/fpu/w_expf.c
create mode 100644 sysdeps/i386/i686/fpu/multiarch/w_expf.c
create mode 100644 sysdeps/ia64/fpu/e_exp2f_data.c
create mode 100644 sysdeps/ia64/fpu/math_errf.c
create mode 100644 sysdeps/ieee754/flt-32/e_exp2f_data.c
create mode 100644 sysdeps/ieee754/flt-32/math_config.h
create mode 100644 sysdeps/ieee754/flt-32/math_errf.c
delete mode 100644 sysdeps/ieee754/flt-32/t_exp2f.h
create mode 100644 sysdeps/ieee754/flt-32/w_exp2f.c
create mode 100644 sysdeps/ieee754/flt-32/w_expf.c
delete mode 100644 sysdeps/ieee754/ldbl-128/w_expl_compat.c
delete mode 100644 sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c
delete mode 100644 sysdeps/ieee754/ldbl-96/w_expl_compat.c
rename sysdeps/ieee754/{ldbl-64-128 => ldbl-opt}/w_expl_compat.c (72%)
create mode 100644 sysdeps/m68k/m680x0/fpu/w_expf.c
create mode 100644 sysdeps/powerpc/powerpc64/fpu/multiarch/w_expf.c
create mode 100644 sysdeps/x86_64/fpu/w_expf.c