This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 0/7] Optimized expf, exp2f, logf, log2f and powf
- 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: Mon, 25 Sep 2017 11:57:58 +0100
- Subject: [PATCH 0/7] Optimized expf, exp2f, logf, log2f and powf
- 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
committed the new expf and exp2f code to master.
the updated patchset is pushed to nsz/math2 branch.
Szabolcs Nagy (7):
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 | 2 +-
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/libm-test-ulps | 10 +-
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/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_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/ieee754/flt-32/e_exp2f.c | 7 +-
sysdeps/ieee754/flt-32/e_expf.c | 16 +-
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 | 50 +++
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_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/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 | 5 +-
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 +
75 files changed, 722 insertions(+), 373 deletions(-)
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_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/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_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/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/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_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/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