From: "H.J. Lu" <hjl.tools@gmail.com>
To: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
Cc: GNU C Library <libc-alpha@sourceware.org>
Subject: Re: [PATCH v7 1/3] math: redirect roundeven function
Date: Tue, 22 Jun 2021 15:35:39 -0700 [thread overview]
Message-ID: <CAMe9rOrKMJSAXeXAiESRGLEYy1b9TaehiNDt8Jv8taxUHkcDow@mail.gmail.com> (raw)
In-Reply-To: <CAMe9rOqCm2zv8bOK-x+yz-WpjZas7JhKaojPyjkaUp3y=XMFHw@mail.gmail.com>
On Tue, May 25, 2021 at 5:02 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Sun, May 23, 2021 at 6:43 PM Shen-Ta Hsieh <ibmibmibm.tw@gmail.com> wrote:
> >
> > This patch redirect roundeven function for futhermore changes.
> >
> > Signed-off-by: Shen-Ta Hsieh <ibmibmibm.tw@gmail.com>
> > ---
> > include/math.h | 2 +-
> > sysdeps/ieee754/dbl-64/s_roundeven.c | 4 +++-
> > sysdeps/ieee754/float128/s_roundevenf128.c | 1 +
> > sysdeps/ieee754/flt-32/s_roundevenf.c | 3 +++
> > sysdeps/ieee754/ldbl-128/s_roundevenl.c | 1 +
> > sysdeps/ieee754/ldbl-96/s_roundevenl.c | 1 +
> > 6 files changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/math.h b/include/math.h
> > index e1c2a4eb64..b4772d3d3b 100644
> > --- a/include/math.h
> > +++ b/include/math.h
> > @@ -38,7 +38,6 @@ libm_hidden_proto (__issignaling)
> > libm_hidden_proto (__issignalingf)
> > libm_hidden_proto (__exp)
> > libm_hidden_proto (__expf)
> > -libm_hidden_proto (__roundeven)
> >
> > # if !defined __NO_LONG_DOUBLE_MATH \
> > && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0
> > @@ -159,6 +158,7 @@ fabsf128 (_Float128 x)
> > MATH_REDIRECT (sqrt, "__ieee754_", MATH_REDIRECT_UNARY_ARGS)
> > MATH_REDIRECT (ceil, "__", MATH_REDIRECT_UNARY_ARGS)
> > MATH_REDIRECT (floor, "__", MATH_REDIRECT_UNARY_ARGS)
> > +MATH_REDIRECT (roundeven, "__", MATH_REDIRECT_UNARY_ARGS)
> > MATH_REDIRECT (rint, "__", MATH_REDIRECT_UNARY_ARGS)
> > MATH_REDIRECT (trunc, "__", MATH_REDIRECT_UNARY_ARGS)
> > MATH_REDIRECT (round, "__", MATH_REDIRECT_UNARY_ARGS)
> > diff --git a/sysdeps/ieee754/dbl-64/s_roundeven.c b/sysdeps/ieee754/dbl-64/s_roundeven.c
> > index 943b2c634c..5deff3bb8a 100644
> > --- a/sysdeps/ieee754/dbl-64/s_roundeven.c
> > +++ b/sysdeps/ieee754/dbl-64/s_roundeven.c
> > @@ -16,6 +16,7 @@
> > License along with the GNU C Library; if not, see
> > <https://www.gnu.org/licenses/>. */
> >
> > +#define NO_MATH_REDIRECT
> > #include <math.h>
> > #include <math_private.h>
> > #include <libm-alias-double.h>
> > @@ -66,5 +67,6 @@ __roundeven (double x)
> > INSERT_WORDS64 (x, ix);
> > return x;
> > }
> > -hidden_def (__roundeven)
> > +#ifndef __roundeven
> > libm_alias_double (__roundeven, roundeven)
> > +#endif
> > diff --git a/sysdeps/ieee754/float128/s_roundevenf128.c b/sysdeps/ieee754/float128/s_roundevenf128.c
> > index 5a9b3f395f..e0faf727f6 100644
> > --- a/sysdeps/ieee754/float128/s_roundevenf128.c
> > +++ b/sysdeps/ieee754/float128/s_roundevenf128.c
> > @@ -1,2 +1,3 @@
> > +#define NO_MATH_REDIRECT
> > #include <float128_private.h>
> > #include "../ldbl-128/s_roundevenl.c"
> > diff --git a/sysdeps/ieee754/flt-32/s_roundevenf.c b/sysdeps/ieee754/flt-32/s_roundevenf.c
> > index ae54365bbe..2cc0d7b001 100644
> > --- a/sysdeps/ieee754/flt-32/s_roundevenf.c
> > +++ b/sysdeps/ieee754/flt-32/s_roundevenf.c
> > @@ -17,6 +17,7 @@
> > License along with the GNU C Library; if not, see
> > <https://www.gnu.org/licenses/>. */
> >
> > +#define NO_MATH_REDIRECT
> > #include <math.h>
> > #include <math_private.h>
> > #include <libm-alias-float.h>
> > @@ -67,4 +68,6 @@ __roundevenf (float x)
> > SET_FLOAT_WORD (x, ix);
> > return x;
> > }
> > +#ifndef __roundevenf
> > libm_alias_float (__roundeven, roundeven)
> > +#endif
> > diff --git a/sysdeps/ieee754/ldbl-128/s_roundevenl.c b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > index 02765be0e0..7c9c11fad2 100644
> > --- a/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > +++ b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
> > @@ -17,6 +17,7 @@
> > License along with the GNU C Library; if not, see
> > <https://www.gnu.org/licenses/>. */
> >
> > +#define NO_MATH_REDIRECT
> > #include <math.h>
> > #include <math_private.h>
> > #include <libm-alias-ldouble.h>
> > diff --git a/sysdeps/ieee754/ldbl-96/s_roundevenl.c b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > index 8340116ed8..f826829c31 100644
> > --- a/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > +++ b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
> > @@ -17,6 +17,7 @@
> > License along with the GNU C Library; if not, see
> > <https://www.gnu.org/licenses/>. */
> >
> > +#define NO_MATH_REDIRECT
> > #include <math.h>
> > #include <math_private.h>
> > #include <libm-alias-ldouble.h>
> > --
> > 2.31.1
> >
>
> LGTM.
>
> Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
>
I tried it with scripts/build-many-glibcs.py. It failed with targets using:
sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c
sysdeps/aarch64/fpu/s_roundevenf.c
sysdeps/aarch64/fpu/s_roundeven.c
sysdeps/riscv/rv64/rvd/s_roundeven.c
sysdeps/riscv/rvf/s_roundevenf.c
--
H.J.
next prev parent reply other threads:[~2021-06-22 22:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-24 1:43 Shen-Ta Hsieh
2021-05-24 1:43 ` [PATCH v7 2/3] x86_64: roundeven with sse4.1 support Shen-Ta Hsieh
2021-05-25 12:02 ` H.J. Lu
2021-05-24 1:43 ` [PATCH v7 3/3] Use GCC builtins for roundeven functions if desired Shen-Ta Hsieh
2021-05-25 12:03 ` H.J. Lu
2021-05-25 12:02 ` [PATCH v7 1/3] math: redirect roundeven function H.J. Lu
2021-06-22 22:35 ` H.J. Lu [this message]
2021-06-23 20:34 ` [PATCH] Update " H.J. Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAMe9rOrKMJSAXeXAiESRGLEYy1b9TaehiNDt8Jv8taxUHkcDow@mail.gmail.com \
--to=hjl.tools@gmail.com \
--cc=ibmibmibm.tw@gmail.com \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).