[PATCH 0/9] Optimized expf, exp2f, logf, log2f and powf
Szabolcs Nagy
szabolcs.nagy@arm.com
Tue Sep 19 12:49:00 GMT 2017
updated patchset, now with logf, log2f and powf too.
some libm_alias_float changes in math/w_*_compat.c got reverted.
Szabolcs Nagy (9):
Optimized generic expf and exp2f with wrappers
New expf and exp2f version without SVID compat wrapper
Do not wrap expf and exp2f
New generic logf
New generic log2f
New generic powf
New symbol version for logf, log2f and powf without SVID compat
Do not wrap logf, log2f and powf
AArch64: update libm-test-ulps
math/Makefile | 3 +-
math/Versions | 3 +
math/w_exp2f.c | 7 +
math/w_exp2f_compat.c | 6 +-
math/w_expf.c | 7 +
math/w_expf_compat.c | 7 +-
math/w_log2f.c | 7 +
math/w_log2f_compat.c | 6 +-
math/w_logf.c | 7 +
math/w_logf_compat.c | 6 +-
math/w_powf.c | 7 +
math/w_powf_compat.c | 6 +-
sysdeps/aarch64/fpu/math_private.h | 20 ++
sysdeps/aarch64/libm-test-ulps | 10 +-
sysdeps/i386/fpu/e_exp2f_data.c | 1 +
sysdeps/i386/fpu/e_log2f_data.c | 1 +
sysdeps/i386/fpu/e_logf_data.c | 1 +
sysdeps/i386/fpu/e_powf_log2_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/fpu/w_log2f.c | 1 +
sysdeps/i386/fpu/w_logf.c | 1 +
sysdeps/i386/fpu/w_powf.c | 1 +
sysdeps/i386/i686/fpu/multiarch/w_expf.c | 1 +
sysdeps/ia64/fpu/e_exp2f.S | 10 +-
sysdeps/ia64/fpu/e_exp2f_data.c | 1 +
sysdeps/ia64/fpu/e_expf.S | 6 +
sysdeps/ia64/fpu/e_log2f.S | 10 +-
sysdeps/ia64/fpu/e_log2f_data.c | 1 +
sysdeps/ia64/fpu/e_logf.S | 6 +
sysdeps/ia64/fpu/e_logf_data.c | 1 +
sysdeps/ia64/fpu/e_powf.S | 10 +-
sysdeps/ia64/fpu/e_powf_log2_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/e_log2f.c | 153 ++++----
sysdeps/ieee754/flt-32/e_log2f_data.c | 44 +++
sysdeps/ieee754/flt-32/e_logf.c | 153 ++++----
sysdeps/ieee754/flt-32/e_logf_data.c | 44 +++
sysdeps/ieee754/flt-32/e_powf.c | 393 ++++++++++-----------
sysdeps/ieee754/flt-32/e_powf_log2_data.c | 45 +++
sysdeps/ieee754/flt-32/math_config.h | 164 +++++++++
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/flt-32/w_log2f.c | 1 +
sysdeps/ieee754/flt-32/w_logf.c | 1 +
sysdeps/ieee754/flt-32/w_powf.c | 1 +
sysdeps/m68k/m680x0/fpu/e_exp2f_data.c | 1 +
sysdeps/m68k/m680x0/fpu/e_log2f_data.c | 1 +
sysdeps/m68k/m680x0/fpu/e_logf_data.c | 1 +
sysdeps/m68k/m680x0/fpu/e_powf_log2_data.c | 1 +
sysdeps/m68k/m680x0/fpu/math_errf.c | 1 +
sysdeps/m68k/m680x0/fpu/w_exp2f.c | 1 +
sysdeps/m68k/m680x0/fpu/w_expf.c | 1 +
sysdeps/m68k/m680x0/fpu/w_log2f.c | 1 +
sysdeps/m68k/m680x0/fpu/w_logf.c | 1 +
sysdeps/m68k/m680x0/fpu/w_powf.c | 1 +
.../powerpc/powerpc64/fpu/multiarch/e_expf-ppc64.c | 9 +-
sysdeps/powerpc/powerpc64/fpu/multiarch/w_expf.c | 1 +
sysdeps/unix/sysv/linux/aarch64/libm.abilist | 6 +
sysdeps/unix/sysv/linux/alpha/libm.abilist | 6 +
sysdeps/unix/sysv/linux/arm/libm.abilist | 6 +
sysdeps/unix/sysv/linux/hppa/libm.abilist | 6 +
sysdeps/unix/sysv/linux/i386/libm.abilist | 6 +
sysdeps/unix/sysv/linux/ia64/libm.abilist | 6 +
sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 6 +
sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist | 6 +
sysdeps/unix/sysv/linux/microblaze/libm.abilist | 6 +
sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 6 +
sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 6 +
sysdeps/unix/sysv/linux/nios2/libm.abilist | 6 +
.../sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 6 +
.../linux/powerpc/powerpc32/nofpu/libm.abilist | 6 +
.../sysv/linux/powerpc/powerpc64/libm-le.abilist | 6 +
.../unix/sysv/linux/powerpc/powerpc64/libm.abilist | 6 +
sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 6 +
sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 6 +
sysdeps/unix/sysv/linux/sh/libm.abilist | 6 +
sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 6 +
sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 6 +
.../sysv/linux/tile/tilegx/tilegx32/libm.abilist | 6 +
.../sysv/linux/tile/tilegx/tilegx64/libm.abilist | 6 +
sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist | 6 +
sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 6 +
sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 6 +
sysdeps/x86_64/fpu/w_expf.c | 1 +
91 files changed, 1235 insertions(+), 944 deletions(-)
create mode 100644 math/w_exp2f.c
create mode 100644 math/w_expf.c
create mode 100644 math/w_log2f.c
create mode 100644 math/w_logf.c
create mode 100644 math/w_powf.c
create mode 100644 sysdeps/i386/fpu/e_exp2f_data.c
create mode 100644 sysdeps/i386/fpu/e_log2f_data.c
create mode 100644 sysdeps/i386/fpu/e_logf_data.c
create mode 100644 sysdeps/i386/fpu/e_powf_log2_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/fpu/w_log2f.c
create mode 100644 sysdeps/i386/fpu/w_logf.c
create mode 100644 sysdeps/i386/fpu/w_powf.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/e_log2f_data.c
create mode 100644 sysdeps/ia64/fpu/e_logf_data.c
create mode 100644 sysdeps/ia64/fpu/e_powf_log2_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/e_log2f_data.c
create mode 100644 sysdeps/ieee754/flt-32/e_logf_data.c
create mode 100644 sysdeps/ieee754/flt-32/e_powf_log2_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
create mode 100644 sysdeps/ieee754/flt-32/w_log2f.c
create mode 100644 sysdeps/ieee754/flt-32/w_logf.c
create mode 100644 sysdeps/ieee754/flt-32/w_powf.c
create mode 100644 sysdeps/m68k/m680x0/fpu/e_exp2f_data.c
create mode 100644 sysdeps/m68k/m680x0/fpu/e_log2f_data.c
create mode 100644 sysdeps/m68k/m680x0/fpu/e_logf_data.c
create mode 100644 sysdeps/m68k/m680x0/fpu/e_powf_log2_data.c
create mode 100644 sysdeps/m68k/m680x0/fpu/math_errf.c
create mode 100644 sysdeps/m68k/m680x0/fpu/w_exp2f.c
create mode 100644 sysdeps/m68k/m680x0/fpu/w_expf.c
create mode 100644 sysdeps/m68k/m680x0/fpu/w_log2f.c
create mode 100644 sysdeps/m68k/m680x0/fpu/w_logf.c
create mode 100644 sysdeps/m68k/m680x0/fpu/w_powf.c
create mode 100644 sysdeps/powerpc/powerpc64/fpu/multiarch/w_expf.c
create mode 100644 sysdeps/x86_64/fpu/w_expf.c
--
2.11.0
More information about the Libc-alpha
mailing list