public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 00/10] Optimized math routines
@ 2018-07-06  8:49 Szabolcs Nagy
  2018-07-06  8:57 ` [PATCH 01/10] Clean up converttoint handling and document the semantics Szabolcs Nagy
                   ` (13 more replies)
  0 siblings, 14 replies; 45+ messages in thread
From: Szabolcs Nagy @ 2018-07-06  8:49 UTC (permalink / raw)
  To: GNU C Library; +Cc: nd, Wilco Dijkstra, Joseph Myers

Optimized exp, exp2, log, log2, pow, sinf, cosf and sincosf
implementations.

I updated the patches according to comments. I included the
sincosf patches from Wilco, but split out the math_config.h
toint changes into a separate patch.

This set does not include the wrapper removal that changes ABI.
I'm still testing those and they can be applied separately.
The new exp increases the ulp error bounds in non-nearest
rounding modes, so ulp updates are needed.

Szabolcs Nagy (8):
   Clean up converttoint handling and document the semantics
   Add new exp and exp2 implementations
   aarch64: update libm-test-ulps
   arm: update libm-test-ulps
   x86_64: update libm-test-ulps
   Add new log implementation
   Add new log2 implementation
   Add new pow implementation

Wilco Dijkstra (2):
   Improve performance of sincosf
   Improve performance of sinf and cosf

  NEWS                                         |     2 +
  math/Makefile                                |     7 +-
  sysdeps/aarch64/fpu/math_private.h           |    17 +-
  sysdeps/aarch64/libm-test-ulps               |   112 +-
  sysdeps/arm/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/ia64/fpu/e_exp_data.c                |     1 +
  sysdeps/ia64/fpu/e_log2_data.c               |     1 +
  sysdeps/ia64/fpu/e_log_data.c                |     1 +
  sysdeps/ia64/fpu/e_pow_log_data.c            |     1 +
  sysdeps/ia64/fpu/math_err.c                  |     1 +
  sysdeps/ia64/fpu/s_sincosf_data.c            |     1 +
  sysdeps/ia64/fpu/t_exp.c                     |     1 -
  sysdeps/ieee754/dbl-64/Makefile              |     1 -
  sysdeps/ieee754/dbl-64/e_exp.c               |   477 +-
  sysdeps/ieee754/dbl-64/e_exp2.c              |   220 +-
  sysdeps/ieee754/dbl-64/e_exp_data.c          |   196 +
  sysdeps/ieee754/dbl-64/e_log.c               |   257 +-
  sysdeps/ieee754/dbl-64/e_log2.c              |   240 +-
  sysdeps/ieee754/dbl-64/e_log2_data.c         |   194 +
  sysdeps/ieee754/dbl-64/e_log_data.c          |   321 +
  sysdeps/ieee754/dbl-64/e_pow.c               |   656 +-
  sysdeps/ieee754/dbl-64/e_pow_log_data.c      |   173 +
  sysdeps/ieee754/dbl-64/eexp.tbl              |   172 -
  sysdeps/ieee754/dbl-64/math_config.h         |   187 +
  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/wordsize-64/e_log2.c  |   128 -
  sysdeps/ieee754/flt-32/e_expf.c              |     5 +-
  sysdeps/ieee754/flt-32/math_config.h         |    21 +-
  sysdeps/ieee754/flt-32/s_cosf.c              |   161 +-
  sysdeps/ieee754/flt-32/s_sincosf.c           |   197 +-
  sysdeps/ieee754/flt-32/s_sincosf.h           |   258 +-
  sysdeps/ieee754/flt-32/s_sincosf_data.c      |    74 +
  sysdeps/ieee754/flt-32/s_sinf.c              |   172 +-
  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/s_sincosf_data.c     |     1 +
  sysdeps/m68k/m680x0/fpu/t_exp.c              |     1 -
  sysdeps/x86_64/fpu/libm-test-ulps            |   100 +-
  sysdeps/x86_64/fpu/multiarch/Makefile        |     4 +-
  sysdeps/x86_64/fpu/multiarch/s_sincosf-fma.c |    33 +-
  58 files changed, 2606 insertions(+), 18537 deletions(-)
  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/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
  create mode 100644 sysdeps/ia64/fpu/s_sincosf_data.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
  delete mode 100644 sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c
  create mode 100644 sysdeps/ieee754/flt-32/s_sincosf_data.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
  create mode 100644 sysdeps/m68k/m680x0/fpu/s_sincosf_data.c
  delete mode 100644 sysdeps/m68k/m680x0/fpu/t_exp.c

-- 
2.14.1

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2018-09-05 15:26 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-06  8:49 [PATCH 00/10] Optimized math routines Szabolcs Nagy
2018-07-06  8:57 ` [PATCH 01/10] Clean up converttoint handling and document the semantics Szabolcs Nagy
2018-08-07 19:52   ` Joseph Myers
2018-07-06  8:57 ` [PATCH 02/10] Improve performance of sincosf Szabolcs Nagy
2018-07-11 13:22   ` Szabolcs Nagy
2018-08-07 20:11     ` Joseph Myers
2018-08-10 12:12       ` Wilco Dijkstra
2018-08-10 16:04         ` Joseph Myers
2018-07-06  8:59 ` [PATCH 03/10] Improve performance of sinf and cosf Szabolcs Nagy
2018-08-13 19:46   ` Joseph Myers
2018-08-14 19:41     ` Joseph Myers
2018-08-15 13:11       ` Wilco Dijkstra
2018-07-06  9:02 ` [PATCH 04/10] Add new exp and exp2 implementations Szabolcs Nagy
2018-08-22 19:55   ` Joseph Myers
2018-09-05 15:26     ` Szabolcs Nagy
2018-07-06  9:04 ` [PATCH 05/10] aarch64: update libm-test-ulps Szabolcs Nagy
2018-08-24 17:09   ` Joseph Myers
2018-07-06  9:05 ` [PATCH 06/10] arm: " Szabolcs Nagy
2018-07-06  9:06 ` [PATCH 07/10] x86_64: " Szabolcs Nagy
2018-07-06  9:08 ` [PATCH 08/10] Add new log implementation Szabolcs Nagy
2018-08-24 17:19   ` Joseph Myers
2018-07-06  9:09 ` [PATCH 09/10] Add new log2 implementation Szabolcs Nagy
2018-07-06  9:10 ` [PATCH 10/10] Add new pow implementation Szabolcs Nagy
2018-07-11 13:24   ` Szabolcs Nagy
2018-07-06 12:43 ` [PATCH 00/10] Optimized math routines Carlos O'Donell
2018-07-06 15:46   ` Szabolcs Nagy
2018-07-06 16:27     ` Carlos O'Donell
2018-07-06 17:17       ` Szabolcs Nagy
2018-07-09 12:15         ` Szabolcs Nagy
2018-07-09 13:09           ` Adhemerval Zanella
2018-07-09 13:35             ` Szabolcs Nagy
2018-07-09 14:27               ` Adhemerval Zanella
2018-07-09 15:41                 ` Szabolcs Nagy
2018-07-09 18:20                   ` Adhemerval Zanella
2018-07-17 21:59         ` Joseph Myers
2018-07-18  0:07           ` Carlos O'Donell
2018-07-11 13:39       ` Szabolcs Nagy
2018-07-11 14:19 ` [PATCH] powerpc: update libm-test-ulps Szabolcs Nagy
2018-07-12 15:52 ` [PATCH] update libm-test-ulps for new exp Szabolcs Nagy
2018-07-18 17:25   ` Joseph Myers
2018-07-19  9:15     ` Szabolcs Nagy
2018-07-19 17:03       ` Joseph Myers
2018-07-19 17:15         ` Wilco Dijkstra
2018-07-19 17:23           ` Joseph Myers
2018-08-07 11:03 ` [PATCH 00/10] Optimized math routines Szabolcs Nagy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).