This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Ping] [PATCHv2 00/11] Generate Complex functions from a common template.


Ping.

On 07/01/2016 03:13 PM, Paul E. Murphy wrote:
> This is the second spin of the patch set based on
> feedback.
> 
> Primarily, it is cleanup to remove M_LIT (X.0) where
> X is a small integer, and use integer constants when
> possible.  Likewise, fixing comments mangled when
> converted.
> 
> Secondly, I have inserted a patch to unify the drift
> between the ccosh* and csinh* variants as suggested
> by Joseph.
> 
> Finally, I have inserted an extra patch before each
> major refactoring to explicitly copy the file which
> will be transformed into the template.  These changes
> do not break anything, but simplify the diff in the
> patch following them.
> 
> Again, I have run each patch through arm, alpha,
> x86-64, ppc64, and m68k builds.  I have compared the
> objdump and nm output of new object files with their
> replacements to verify no changes to code generation
> have occured after each patch, using the unification
> patch as the base.
> 
> The diffstat is a bit more accurate about the amount
> of cleanup occuring with this patchset.
> 
> 
> Paul E. Murphy (11):
>   Refactor part of math Makefile
>   Unify drift between _Complex function type variants
>   Support for type-generic libm function implementations libm
>   Prepare to convert _Complex cosine functions
>   Convert _Complex cosine functions to generated code
>   Prepare to convert _Complex sine functions
>   Convert _Complex sine functions to generated code
>   Prepare to convert _Complex tangent functions
>   Convert _Complex tangent functions to generated code
>   Prepare to convert remaining _Complex functions
>   Convert remaining complex function to generated files
> 
>  Makeconfig                                       |   2 +-
>  math/Makefile                                    | 176 ++++++++++++------
>  math/{s_cpow.c => b_cabs.c}                      |  18 +-
>  math/{s_cacosf.c => b_cacos.c}                   |  27 +--
>  math/{s_cacosh.c => b_cacosh.c}                  |  50 +++---
>  math/{s_cpowf.c => b_carg.c}                     |  16 +-
>  math/{s_casinf.c => b_casin.c}                   |  29 +--
>  math/{s_casinhf.c => b_casinh.c}                 |  35 ++--
>  math/b_catan.c                                   | 145 +++++++++++++++
>  math/b_catanh.c                                  | 140 +++++++++++++++
>  math/{s_ccosf.c => b_ccos.c}                     |  18 +-
>  math/{s_ccosh.c => b_ccosh.c}                    |  77 ++++----
>  math/{s_cexpf.c => b_cexp.c}                     |  64 +++----
>  math/{cimag.c => b_cimag.c}                      |  15 +-
>  math/{s_clogf.c => b_clog.c}                     |  83 ++++-----
>  math/b_clog10.c                                  | 143 +++++++++++++++
>  math/{conjf.c => b_conj.c}                       |  13 +-
>  math/{carg.c => b_cpow.c}                        |  17 +-
>  math/{s_cprojf.c => b_cproj.c}                   |  17 +-
>  math/{creal.c => b_creal.c}                      |  15 +-
>  math/{s_csinf.c => b_csin.c}                     |  77 ++++----
>  math/{s_csinh.c => b_csinh.c}                    |  79 ++++----
>  math/{s_csqrtf.c => b_csqrt.c}                   | 103 +++++------
>  math/{s_ctanf.c => b_ctan.c}                     |  67 +++----
>  math/{s_ctanhf.c => b_ctanh.c}                   |  67 +++----
>  math/b_k_casinh.c                                | 211 ++++++++++++++++++++++
>  math/cabs.c                                      |  32 ----
>  math/cabsf.c                                     |  28 ---
>  math/cabsl.c                                     |  28 ---
>  math/cargf.c                                     |  28 ---
>  math/cargl.c                                     |  28 ---
>  math/cimagf.c                                    |  27 ---
>  math/cimagl.c                                    |  27 ---
>  math/conj.c                                      |  31 ----
>  math/conjl.c                                     |  27 ---
>  math/crealf.c                                    |  27 ---
>  math/creall.c                                    |  27 ---
>  math/k_casinh.c                                  | 210 ----------------------
>  math/k_casinhf.c                                 | 212 ----------------------
>  math/k_casinhl.c                                 | 219 -----------------------
>  math/s_cacos.c                                   |  58 ------
>  math/s_cacoshf.c                                 |  92 ----------
>  math/s_cacoshl.c                                 |  90 ----------
>  math/s_cacosl.c                                  |  54 ------
>  math/s_casin.c                                   |  66 -------
>  math/s_casinh.c                                  |  73 --------
>  math/s_casinhl.c                                 |  69 -------
>  math/s_casinl.c                                  |  62 -------
>  math/s_catan.c                                   | 143 ---------------
>  math/s_catanf.c                                  | 143 ---------------
>  math/s_catanh.c                                  | 137 --------------
>  math/s_catanhf.c                                 | 137 --------------
>  math/s_catanhl.c                                 | 141 ---------------
>  math/s_catanl.c                                  | 147 ---------------
>  math/s_ccos.c                                    |  40 -----
>  math/s_ccoshf.c                                  | 147 ---------------
>  math/s_ccoshl.c                                  | 143 ---------------
>  math/s_ccosl.c                                   |  36 ----
>  math/s_cexp.c                                    | 157 ----------------
>  math/s_cexpl.c                                   | 153 ----------------
>  math/s_clog.c                                    | 118 ------------
>  math/s_clog10.c                                  | 124 -------------
>  math/s_clog10f.c                                 | 122 -------------
>  math/s_clog10l.c                                 | 127 -------------
>  math/s_clogl.c                                   | 121 -------------
>  math/s_cpowl.c                                   |  29 ---
>  math/s_cproj.c                                   |  44 -----
>  math/s_cprojl.c                                  |  40 -----
>  math/s_csin.c                                    | 171 ------------------
>  math/s_csinhf.c                                  | 166 -----------------
>  math/s_csinhl.c                                  | 164 -----------------
>  math/s_csinl.c                                   | 167 -----------------
>  math/s_csqrt.c                                   | 165 -----------------
>  math/s_csqrtl.c                                  | 161 -----------------
>  math/s_ctan.c                                    | 129 -------------
>  math/s_ctanh.c                                   | 129 -------------
>  math/s_ctanhl.c                                  | 132 --------------
>  math/s_ctanl.c                                   | 132 --------------
>  math/{test-ildoubl.c => test-ildouble.c}         |   0
>  scripts/sysd-rules.awk                           |   5 +-
>  sysdeps/alpha/fpu/Makefile                       |  10 ++
>  sysdeps/alpha/fpu/s_cacosf.c                     |  12 +-
>  sysdeps/alpha/fpu/s_cacoshf.c                    |  11 +-
>  sysdeps/alpha/fpu/s_casinf.c                     |  13 +-
>  sysdeps/alpha/fpu/s_casinhf.c                    |  13 +-
>  sysdeps/alpha/fpu/s_catanf.c                     |  13 +-
>  sysdeps/alpha/fpu/s_catanhf.c                    |  13 +-
>  sysdeps/alpha/fpu/s_ccosf.c                      |  13 +-
>  sysdeps/alpha/fpu/s_ccoshf.c                     |  13 +-
>  sysdeps/alpha/fpu/s_cexpf.c                      |  13 +-
>  sysdeps/alpha/fpu/s_clog10f.c                    |  15 +-
>  sysdeps/alpha/fpu/s_clogf.c                      |  13 +-
>  sysdeps/alpha/fpu/s_cpowf.c                      |  13 +-
>  sysdeps/alpha/fpu/s_cprojf.c                     |  13 +-
>  sysdeps/alpha/fpu/s_csinf.c                      |  13 +-
>  sysdeps/alpha/fpu/s_csinhf.c                     |  13 +-
>  sysdeps/alpha/fpu/s_csqrtf.c                     |  13 +-
>  sysdeps/alpha/fpu/s_ctanf.c                      |  13 +-
>  sysdeps/alpha/fpu/s_ctanhf.c                     |  13 +-
>  sysdeps/generic/math-type-macros.h               | 159 ++++++++++++++++
>  sysdeps/ieee754/Makeconfig                       |   6 +
>  sysdeps/ieee754/ldbl-opt/cabs.c                  |   6 -
>  sysdeps/ieee754/ldbl-opt/cabsl.c                 |   6 -
>  sysdeps/ieee754/ldbl-opt/carg.c                  |   6 -
>  sysdeps/ieee754/ldbl-opt/cargl.c                 |   6 -
>  sysdeps/ieee754/ldbl-opt/cimag.c                 |   6 -
>  sysdeps/ieee754/ldbl-opt/cimagl.c                |   6 -
>  sysdeps/ieee754/ldbl-opt/conj.c                  |   6 -
>  sysdeps/ieee754/ldbl-opt/conjl.c                 |   6 -
>  sysdeps/ieee754/ldbl-opt/creal.c                 |   6 -
>  sysdeps/ieee754/ldbl-opt/creall.c                |   6 -
>  sysdeps/ieee754/ldbl-opt/math-type-macros.h      |  30 ++++
>  sysdeps/ieee754/ldbl-opt/s_cacos.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_cacosh.c              |   6 -
>  sysdeps/ieee754/ldbl-opt/s_cacoshl.c             |   6 -
>  sysdeps/ieee754/ldbl-opt/s_cacosl.c              |   6 -
>  sysdeps/ieee754/ldbl-opt/s_casin.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_casinh.c              |   6 -
>  sysdeps/ieee754/ldbl-opt/s_casinhl.c             |   6 -
>  sysdeps/ieee754/ldbl-opt/s_casinl.c              |   6 -
>  sysdeps/ieee754/ldbl-opt/s_catan.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_catanh.c              |   6 -
>  sysdeps/ieee754/ldbl-opt/s_catanhl.c             |   6 -
>  sysdeps/ieee754/ldbl-opt/s_catanl.c              |   6 -
>  sysdeps/ieee754/ldbl-opt/s_ccos.c                |   6 -
>  sysdeps/ieee754/ldbl-opt/s_ccosh.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_ccoshl.c              |   6 -
>  sysdeps/ieee754/ldbl-opt/s_ccosl.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_cexp.c                |   6 -
>  sysdeps/ieee754/ldbl-opt/s_cexpl.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_clog.c                |   6 -
>  sysdeps/ieee754/ldbl-opt/s_clog10.c              |   7 -
>  sysdeps/ieee754/ldbl-opt/s_clog10l.c             |  10 --
>  sysdeps/ieee754/ldbl-opt/s_clogl.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_cpow.c                |   6 -
>  sysdeps/ieee754/ldbl-opt/s_cpowl.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_cproj.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_cprojl.c              |   6 -
>  sysdeps/ieee754/ldbl-opt/s_csin.c                |   6 -
>  sysdeps/ieee754/ldbl-opt/s_csinh.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_csinhl.c              |   6 -
>  sysdeps/ieee754/ldbl-opt/s_csinl.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_csqrt.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_csqrtl.c              |   6 -
>  sysdeps/ieee754/ldbl-opt/s_ctan.c                |   6 -
>  sysdeps/ieee754/ldbl-opt/s_ctanh.c               |   6 -
>  sysdeps/ieee754/ldbl-opt/s_ctanhl.c              |   6 -
>  sysdeps/ieee754/ldbl-opt/s_ctanl.c               |   6 -
>  sysdeps/m68k/m680x0/fpu/{s_ccosh.c => b_ccosh.c} |  18 +-
>  sysdeps/m68k/m680x0/fpu/{s_cexp.c => b_cexp.c}   |  15 +-
>  sysdeps/m68k/m680x0/fpu/{s_csin.c => b_csin.c}   |  18 +-
>  sysdeps/m68k/m680x0/fpu/{s_csinh.c => b_csinh.c} |  17 +-
>  sysdeps/m68k/m680x0/fpu/s_ccoshf.c               |   3 -
>  sysdeps/m68k/m680x0/fpu/s_ccoshl.c               |   3 -
>  sysdeps/m68k/m680x0/fpu/s_cexpf.c                |   3 -
>  sysdeps/m68k/m680x0/fpu/s_cexpl.c                |   3 -
>  sysdeps/m68k/m680x0/fpu/s_csinf.c                |   3 -
>  sysdeps/m68k/m680x0/fpu/s_csinhf.c               |   3 -
>  sysdeps/m68k/m680x0/fpu/s_csinhl.c               |   3 -
>  sysdeps/m68k/m680x0/fpu/s_csinl.c                |   3 -
>  160 files changed, 1619 insertions(+), 6181 deletions(-)
>  rename math/{s_cpow.c => b_cabs.c} (78%)
>  rename math/{s_cacosf.c => b_cacos.c} (76%)
>  rename math/{s_cacosh.c => b_cacosh.c} (65%)
>  rename math/{s_cpowf.c => b_carg.c} (79%)
>  rename math/{s_casinf.c => b_casin.c} (75%)
>  rename math/{s_casinhf.c => b_casinh.c} (70%)
>  create mode 100644 math/b_catan.c
>  create mode 100644 math/b_catanh.c
>  rename math/{s_ccosf.c => b_ccos.c} (81%)
>  rename math/{s_ccosh.c => b_ccosh.c} (59%)
>  rename math/{s_cexpf.c => b_cexp.c} (69%)
>  rename math/{cimag.c => b_cimag.c} (82%)
>  rename math/{s_clogf.c => b_clog.c} (51%)
>  create mode 100644 math/b_clog10.c
>  rename math/{conjf.c => b_conj.c} (81%)
>  rename math/{carg.c => b_cpow.c} (78%)
>  rename math/{s_cprojf.c => b_cproj.c} (78%)
>  rename math/{creal.c => b_creal.c} (82%)
>  rename math/{s_csinf.c => b_csin.c} (65%)
>  rename math/{s_csinh.c => b_csinh.c} (62%)
>  rename math/{s_csqrtf.c => b_csqrt.c} (51%)
>  rename math/{s_ctanf.c => b_ctan.c} (64%)
>  rename math/{s_ctanhf.c => b_ctanh.c} (64%)
>  create mode 100644 math/b_k_casinh.c
>  delete mode 100644 math/cabs.c
>  delete mode 100644 math/cabsf.c
>  delete mode 100644 math/cabsl.c
>  delete mode 100644 math/cargf.c
>  delete mode 100644 math/cargl.c
>  delete mode 100644 math/cimagf.c
>  delete mode 100644 math/cimagl.c
>  delete mode 100644 math/conj.c
>  delete mode 100644 math/conjl.c
>  delete mode 100644 math/crealf.c
>  delete mode 100644 math/creall.c
>  delete mode 100644 math/k_casinh.c
>  delete mode 100644 math/k_casinhf.c
>  delete mode 100644 math/k_casinhl.c
>  delete mode 100644 math/s_cacos.c
>  delete mode 100644 math/s_cacoshf.c
>  delete mode 100644 math/s_cacoshl.c
>  delete mode 100644 math/s_cacosl.c
>  delete mode 100644 math/s_casin.c
>  delete mode 100644 math/s_casinh.c
>  delete mode 100644 math/s_casinhl.c
>  delete mode 100644 math/s_casinl.c
>  delete mode 100644 math/s_catan.c
>  delete mode 100644 math/s_catanf.c
>  delete mode 100644 math/s_catanh.c
>  delete mode 100644 math/s_catanhf.c
>  delete mode 100644 math/s_catanhl.c
>  delete mode 100644 math/s_catanl.c
>  delete mode 100644 math/s_ccos.c
>  delete mode 100644 math/s_ccoshf.c
>  delete mode 100644 math/s_ccoshl.c
>  delete mode 100644 math/s_ccosl.c
>  delete mode 100644 math/s_cexp.c
>  delete mode 100644 math/s_cexpl.c
>  delete mode 100644 math/s_clog.c
>  delete mode 100644 math/s_clog10.c
>  delete mode 100644 math/s_clog10f.c
>  delete mode 100644 math/s_clog10l.c
>  delete mode 100644 math/s_clogl.c
>  delete mode 100644 math/s_cpowl.c
>  delete mode 100644 math/s_cproj.c
>  delete mode 100644 math/s_cprojl.c
>  delete mode 100644 math/s_csin.c
>  delete mode 100644 math/s_csinhf.c
>  delete mode 100644 math/s_csinhl.c
>  delete mode 100644 math/s_csinl.c
>  delete mode 100644 math/s_csqrt.c
>  delete mode 100644 math/s_csqrtl.c
>  delete mode 100644 math/s_ctan.c
>  delete mode 100644 math/s_ctanh.c
>  delete mode 100644 math/s_ctanhl.c
>  delete mode 100644 math/s_ctanl.c
>  rename math/{test-ildoubl.c => test-ildouble.c} (100%)
>  create mode 100644 sysdeps/alpha/fpu/Makefile
>  create mode 100644 sysdeps/generic/math-type-macros.h
>  create mode 100644 sysdeps/ieee754/Makeconfig
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/cabs.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/cabsl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/carg.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/cargl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/cimag.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/cimagl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/conj.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/conjl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/creal.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/creall.c
>  create mode 100644 sysdeps/ieee754/ldbl-opt/math-type-macros.h
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cacos.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cacosh.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cacoshl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cacosl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_casin.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_casinh.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_casinhl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_casinl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_catan.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_catanh.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_catanhl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_catanl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ccos.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ccosh.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ccoshl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ccosl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cexp.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cexpl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_clog.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_clog10.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_clog10l.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_clogl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cpow.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cpowl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cproj.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_cprojl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csin.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csinh.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csinhl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csinl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csqrt.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_csqrtl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ctan.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ctanh.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ctanhl.c
>  delete mode 100644 sysdeps/ieee754/ldbl-opt/s_ctanl.c
>  rename sysdeps/m68k/m680x0/fpu/{s_ccosh.c => b_ccosh.c} (87%)
>  rename sysdeps/m68k/m680x0/fpu/{s_cexp.c => b_cexp.c} (94%)
>  rename sysdeps/m68k/m680x0/fpu/{s_csin.c => b_csin.c} (86%)
>  rename sysdeps/m68k/m680x0/fpu/{s_csinh.c => b_csinh.c} (88%)
>  delete mode 100644 sysdeps/m68k/m680x0/fpu/s_ccoshf.c
>  delete mode 100644 sysdeps/m68k/m680x0/fpu/s_ccoshl.c
>  delete mode 100644 sysdeps/m68k/m680x0/fpu/s_cexpf.c
>  delete mode 100644 sysdeps/m68k/m680x0/fpu/s_cexpl.c
>  delete mode 100644 sysdeps/m68k/m680x0/fpu/s_csinf.c
>  delete mode 100644 sysdeps/m68k/m680x0/fpu/s_csinhf.c
>  delete mode 100644 sysdeps/m68k/m680x0/fpu/s_csinhl.c
>  delete mode 100644 sysdeps/m68k/m680x0/fpu/s_csinl.c
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]