[PATCH 0/9] Add new exp, exp2, log, log2 and pow implementations

Szabolcs Nagy szabolcs.nagy@arm.com
Fri Jun 29 13:00:00 GMT 2018


New versions of the previous patch set adding new math
implementations,

patch 5 (libm-test-ulps update) is unchanged,

patches 6,7,8,9 try to remove the error handling wrappers
i will have to rerun build-many-glibcs.py on them and report
back when it's finished.

Szabolcs Nagy (9):
   Add new exp and exp2 implementations
   Add new log implementation
   Add new log2 implementation
   Add new pow implementation
   aarch64: update libm-test-ulps
   Remove the error handling wrapper from exp and exp2
   Remove the error handling wrapper from log
   Remove the error handling wrapper from log2
   Remove the error handling wrapper from pow

  NEWS                                               |     3 +
  math/Makefile                                      |     5 +-
  math/Versions                                      |     2 +
  math/w_exp.c                                       |     8 +
  math/w_exp2.c                                      |     8 +
  math/w_exp2_compat.c                               |     6 +-
  math/w_exp_compat.c                                |     7 +-
  math/w_log.c                                       |     8 +
  math/w_log2.c                                      |     8 +
  math/w_log2_compat.c                               |     6 +-
  math/w_log_compat.c                                |     6 +-
  math/w_pow.c                                       |     8 +
  math/w_pow_compat.c                                |     6 +-
  sysdeps/aarch64/libm-test-ulps                     |    88 +-
  sysdeps/generic/math_private.h                     |     1 -
  sysdeps/i386/fpu/e_exp_data.c                      |     1 +
  sysdeps/i386/fpu/e_log2_data.c                     |     1 +
  sysdeps/i386/fpu/e_log_data.c                      |     1 +
  sysdeps/i386/fpu/e_pow_log_data.c                  |     1 +
  sysdeps/i386/fpu/math_err.c                        |     1 +
  sysdeps/i386/fpu/t_exp.c                           |     1 -
  sysdeps/i386/fpu/w_exp.c                           |     1 +
  sysdeps/i386/fpu/w_exp2.c                          |     1 +
  sysdeps/i386/fpu/w_log.c                           |     1 +
  sysdeps/i386/fpu/w_log2.c                          |     1 +
  sysdeps/i386/fpu/w_pow.c                           |     1 +
  sysdeps/ia64/fpu/e_exp.S                           |     6 +
  sysdeps/ia64/fpu/e_exp2.S                          |     6 +
  sysdeps/ia64/fpu/e_exp_data.c                      |     1 +
  sysdeps/ia64/fpu/e_log.S                           |     6 +
  sysdeps/ia64/fpu/e_log2.S                          |     6 +
  sysdeps/ia64/fpu/e_log2_data.c                     |     1 +
  sysdeps/ia64/fpu/e_log_data.c                      |     1 +
  sysdeps/ia64/fpu/e_pow.S                           |     6 +
  sysdeps/ia64/fpu/e_pow_log_data.c                  |     1 +
  sysdeps/ia64/fpu/math_err.c                        |     1 +
  sysdeps/ia64/fpu/t_exp.c                           |     1 -
  sysdeps/ieee754/dbl-64/Makefile                    |     1 -
  sysdeps/ieee754/dbl-64/e_exp.c                     |   492 +-
  sysdeps/ieee754/dbl-64/e_exp2.c                    |   233 +-
  sysdeps/ieee754/dbl-64/e_exp_data.c                |   500 +
  sysdeps/ieee754/dbl-64/e_log.c                     |   287 +-
  sysdeps/ieee754/dbl-64/e_log2.c                    |   255 +-
  sysdeps/ieee754/dbl-64/e_log2_data.c               |   194 +
  sysdeps/ieee754/dbl-64/e_log_data.c                |   471 +
  sysdeps/ieee754/dbl-64/e_pow.c                     |   668 +-
  sysdeps/ieee754/dbl-64/e_pow_log_data.c            |   173 +
  sysdeps/ieee754/dbl-64/eexp.tbl                    |   172 -
  sysdeps/ieee754/dbl-64/math_config.h               |   178 +
  sysdeps/ieee754/dbl-64/math_err.c                  |    92 +
  sysdeps/ieee754/dbl-64/t_exp.c                     |   435 -
  sysdeps/ieee754/dbl-64/t_exp2.h                    |   585 --
  sysdeps/ieee754/dbl-64/uexp.h                      |    68 -
  sysdeps/ieee754/dbl-64/uexp.tbl                    |  1786 ----
  sysdeps/ieee754/dbl-64/ulog.h                      |    93 -
  sysdeps/ieee754/dbl-64/ulog.tbl                    |  3326 ------
  sysdeps/ieee754/dbl-64/upow.h                      |    76 -
  sysdeps/ieee754/dbl-64/upow.tbl                    | 10188 -------------------
  sysdeps/ieee754/dbl-64/w_exp.c                     |     1 +
  sysdeps/ieee754/dbl-64/w_exp2.c                    |     1 +
  sysdeps/ieee754/dbl-64/w_log.c                     |     1 +
  sysdeps/ieee754/dbl-64/w_log2.c                    |     1 +
  sysdeps/ieee754/dbl-64/w_pow.c                     |     1 +
  sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c        |   128 -
  sysdeps/m68k/m680x0/fpu/e_exp_data.c               |     1 +
  sysdeps/m68k/m680x0/fpu/e_log2_data.c              |     1 +
  sysdeps/m68k/m680x0/fpu/e_log_data.c               |     1 +
  sysdeps/m68k/m680x0/fpu/e_pow_log_data.c           |     1 +
  sysdeps/m68k/m680x0/fpu/math_err.c                 |     1 +
  sysdeps/m68k/m680x0/fpu/t_exp.c                    |     1 -
  sysdeps/m68k/m680x0/fpu/w_exp.c                    |     1 +
  sysdeps/m68k/m680x0/fpu/w_exp2.c                   |     1 +
  sysdeps/m68k/m680x0/fpu/w_log.c                    |     1 +
  sysdeps/m68k/m680x0/fpu/w_log2.c                   |     1 +
  sysdeps/m68k/m680x0/fpu/w_pow.c                    |     1 +
  sysdeps/mach/hurd/i386/libm.abilist                |     5 +
  sysdeps/unix/sysv/linux/aarch64/libm.abilist       |     5 +
  sysdeps/unix/sysv/linux/alpha/libm.abilist         |     5 +
  sysdeps/unix/sysv/linux/arm/libm.abilist           |     5 +
  sysdeps/unix/sysv/linux/hppa/libm.abilist          |     5 +
  sysdeps/unix/sysv/linux/i386/libm.abilist          |     5 +
  sysdeps/unix/sysv/linux/ia64/libm.abilist          |     5 +
  sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist |     5 +
  sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist   |     5 +
  sysdeps/unix/sysv/linux/microblaze/libm.abilist    |     5 +
  sysdeps/unix/sysv/linux/mips/mips32/libm.abilist   |     5 +
  sysdeps/unix/sysv/linux/mips/mips64/libm.abilist   |     5 +
  sysdeps/unix/sysv/linux/nios2/libm.abilist         |     5 +
  .../sysv/linux/powerpc/powerpc32/fpu/libm.abilist  |     5 +
  .../linux/powerpc/powerpc32/nofpu/libm.abilist     |     5 +
  .../sysv/linux/powerpc/powerpc64/libm-le.abilist   |     2 +
  .../unix/sysv/linux/powerpc/powerpc64/libm.abilist |     5 +
  sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist    |     5 +
  sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist  |     5 +
  sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist  |     5 +
  sysdeps/unix/sysv/linux/sh/libm.abilist            |     5 +
  sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist |     5 +
  sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist |     5 +
  sysdeps/unix/sysv/linux/x86_64/64/libm.abilist     |     5 +
  sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist    |     5 +
  sysdeps/x86_64/fpu/multiarch/Makefile              |     4 +-
  sysdeps/x86_64/fpu/multiarch/e_exp-avx.c           |     3 +-
  sysdeps/x86_64/fpu/multiarch/e_exp-fma.c           |     3 +-
  sysdeps/x86_64/fpu/multiarch/e_exp-fma4.c          |     3 +-
  sysdeps/x86_64/fpu/multiarch/e_exp.c               |     4 +-
  sysdeps/x86_64/fpu/multiarch/e_log-avx.c           |     2 +-
  sysdeps/x86_64/fpu/multiarch/e_log-fma.c           |     2 +-
  sysdeps/x86_64/fpu/multiarch/e_log-fma4.c          |     2 +-
  sysdeps/x86_64/fpu/multiarch/e_log.c               |     4 +-
  sysdeps/x86_64/fpu/multiarch/e_pow-fma.c           |     3 +-
  sysdeps/x86_64/fpu/multiarch/e_pow-fma4.c          |     3 +-
  sysdeps/x86_64/fpu/multiarch/e_pow.c               |     4 +-
  sysdeps/x86_64/fpu/multiarch/w_exp.c               |     1 +
  sysdeps/x86_64/fpu/multiarch/w_log.c               |     1 +
  sysdeps/x86_64/fpu/multiarch/w_pow.c               |     1 +
  115 files changed, 2827 insertions(+), 17969 deletions(-)
  create mode 100644 math/w_exp.c
  create mode 100644 math/w_exp2.c
  create mode 100644 math/w_log.c
  create mode 100644 math/w_log2.c
  create mode 100644 math/w_pow.c
  create mode 100644 sysdeps/i386/fpu/e_exp_data.c
  create mode 100644 sysdeps/i386/fpu/e_log2_data.c
  create mode 100644 sysdeps/i386/fpu/e_log_data.c
  create mode 100644 sysdeps/i386/fpu/e_pow_log_data.c
  create mode 100644 sysdeps/i386/fpu/math_err.c
  delete mode 100644 sysdeps/i386/fpu/t_exp.c
  create mode 100644 sysdeps/i386/fpu/w_exp.c
  create mode 100644 sysdeps/i386/fpu/w_exp2.c
  create mode 100644 sysdeps/i386/fpu/w_log.c
  create mode 100644 sysdeps/i386/fpu/w_log2.c
  create mode 100644 sysdeps/i386/fpu/w_pow.c
  create mode 100644 sysdeps/ia64/fpu/e_exp_data.c
  create mode 100644 sysdeps/ia64/fpu/e_log2_data.c
  create mode 100644 sysdeps/ia64/fpu/e_log_data.c
  create mode 100644 sysdeps/ia64/fpu/e_pow_log_data.c
  create mode 100644 sysdeps/ia64/fpu/math_err.c
  delete mode 100644 sysdeps/ia64/fpu/t_exp.c
  create mode 100644 sysdeps/ieee754/dbl-64/e_exp_data.c
  create mode 100644 sysdeps/ieee754/dbl-64/e_log2_data.c
  create mode 100644 sysdeps/ieee754/dbl-64/e_log_data.c
  create mode 100644 sysdeps/ieee754/dbl-64/e_pow_log_data.c
  delete mode 100644 sysdeps/ieee754/dbl-64/eexp.tbl
  create mode 100644 sysdeps/ieee754/dbl-64/math_config.h
  create mode 100644 sysdeps/ieee754/dbl-64/math_err.c
  delete mode 100644 sysdeps/ieee754/dbl-64/t_exp.c
  delete mode 100644 sysdeps/ieee754/dbl-64/t_exp2.h
  delete mode 100644 sysdeps/ieee754/dbl-64/uexp.h
  delete mode 100644 sysdeps/ieee754/dbl-64/uexp.tbl
  delete mode 100644 sysdeps/ieee754/dbl-64/ulog.h
  delete mode 100644 sysdeps/ieee754/dbl-64/ulog.tbl
  delete mode 100644 sysdeps/ieee754/dbl-64/upow.h
  delete mode 100644 sysdeps/ieee754/dbl-64/upow.tbl
  create mode 100644 sysdeps/ieee754/dbl-64/w_exp.c
  create mode 100644 sysdeps/ieee754/dbl-64/w_exp2.c
  create mode 100644 sysdeps/ieee754/dbl-64/w_log.c
  create mode 100644 sysdeps/ieee754/dbl-64/w_log2.c
  create mode 100644 sysdeps/ieee754/dbl-64/w_pow.c
  delete mode 100644 sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c
  create mode 100644 sysdeps/m68k/m680x0/fpu/e_exp_data.c
  create mode 100644 sysdeps/m68k/m680x0/fpu/e_log2_data.c
  create mode 100644 sysdeps/m68k/m680x0/fpu/e_log_data.c
  create mode 100644 sysdeps/m68k/m680x0/fpu/e_pow_log_data.c
  create mode 100644 sysdeps/m68k/m680x0/fpu/math_err.c
  delete mode 100644 sysdeps/m68k/m680x0/fpu/t_exp.c
  create mode 100644 sysdeps/m68k/m680x0/fpu/w_exp.c
  create mode 100644 sysdeps/m68k/m680x0/fpu/w_exp2.c
  create mode 100644 sysdeps/m68k/m680x0/fpu/w_log.c
  create mode 100644 sysdeps/m68k/m680x0/fpu/w_log2.c
  create mode 100644 sysdeps/m68k/m680x0/fpu/w_pow.c
  create mode 100644 sysdeps/x86_64/fpu/multiarch/w_exp.c
  create mode 100644 sysdeps/x86_64/fpu/multiarch/w_log.c
  create mode 100644 sysdeps/x86_64/fpu/multiarch/w_pow.c

-- 
2.14.1



More information about the Libc-alpha mailing list