This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [Ping] [PATCHv2 00/11] Generate Complex functions from a common template.
- From: "Paul E. Murphy" <murphyp at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Date: Tue, 2 Aug 2016 09:36:57 -0500
- Subject: Re: [Ping] [PATCHv2 00/11] Generate Complex functions from a common template.
- Authentication-results: sourceware.org; auth=none
- References: <cover.1467323999.git.murphyp@linux.vnet.ibm.com> <cover.1467403875.git.murphyp@linux.vnet.ibm.com>
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
>