[PATCH 0/7] Optimized expf, exp2f, logf, log2f and powf

Szabolcs Nagy szabolcs.nagy@arm.com
Mon Sep 25 10:58:00 GMT 2017


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



More information about the Libc-alpha mailing list