From: "Gabriel F. T. Gomes" <gabriel@inconstante.eti.br>
To: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Cc: <libc-alpha@sourceware.org>
Subject: Re: [PATCH 10/28] powerpc: copysign cleanup
Date: Fri, 31 May 2019 11:14:03 -0300 [thread overview]
Message-ID: <20190531141403.GC17456@tereshkova> (raw)
In-Reply-To: <20190329133529.22523-11-adhemerval.zanella@linaro.org>
Looks good with the minor fixes below.
Reviewed-by: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
On Fri, Mar 29 2019, Adhemerval Zanella wrote:
> GCC always expand copysign{f} for all possible cpus, so calling the libm
> is only done if user explicitly states to disable the builtin (which is
> usually done not for performance reason). So to provide ifunc variant
> for copysign only adds complexity for powerpc and powerpc64 and it not
> required for powerpc64le.
OK.
> * sysdeps/powerpc/fpu/s_copysign.c: New file.
> * sysdeps/powerpc/fpu/s_copysignf.c: Likewise.
> * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Remove file.
> * sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: Likewise.
> * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
> (sysdep_routines, libm-sysdep_routines): Remove s_copysign-power6 and
> s_copysign-ppc32.
> * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign-power6.S:
> Likewise.
Remove file?
> * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign-ppc32.S:
> Likewise.
> * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c:
> Likewise.
> * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c:
> Likewise.
> * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Likewise.
> * sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: Likewise.
> * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdeps_calls):
> Remove s_copysign-power6 s_copysign-ppc64.
> * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S:
> Likewise.
Remove file?
> * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S:
> Likewise.
> * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Likewise.
> * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Likewise.
> * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise.
> * sysdeps/powerpc/powerpc64/fpu/s_copysignf.S: Likewise.
> * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Likewise.
> * sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: Likewise.
OK.
> +double
> +__copysign (double x, double y)
> +{
> + return __builtin_copysign (x, y);
> +}
> +libm_alias_double (__copysign, copysign)
> +#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
> +compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
> +#endif
OK.
> --- /dev/null
> +++ b/sysdeps/powerpc/fpu/s_copysignf.c
> @@ -0,0 +1,28 @@
> +/* Smallest integral value not less than argument. PowerPC version.
Wrong description?
> +float
> +__copysignf (float x, float y)
> +{
> + return __builtin_copysignf (x, y);
> +}
> +libm_alias_float (__copysign, copysign)
OK.
> -libm_alias_double (__copysign, copysign)
> -
> -/* It turns out that it's safe to use this code even for single-precision. */
> -strong_alias(__copysign,__copysignf)
> -libm_alias_float (__copysign, copysign)
> -
> -#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
> -compat_symbol (libc, __copysign, copysignl, GLIBC_2_0)
> -#endif
OK.
> --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign-ppc32.S
> +++ /dev/null
>
> [...]
>
> -#define __copysign __copysign_ppc32
> -#undef hidden_def
> -#define hidden_def(name)
> - strong_alias (__copysign_ppc32, __GI___copysign)
OK. Not in use with hidden_proto calls.
next prev parent reply other threads:[~2019-05-31 14:14 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-29 13:35 [PATCH 00/28] powerpc floating-point optimization refactor Adhemerval Zanella
2019-03-29 13:35 ` [PATCH 01/28] powerpc: Use generic fabs{f} implementations Adhemerval Zanella
2019-04-01 20:04 ` Joseph Myers
2019-04-03 1:04 ` Adhemerval Zanella
2019-04-15 20:23 ` Gabriel F. T. Gomes
2019-04-15 21:32 ` Tulio Magno Quites Machado Filho
2019-04-17 17:08 ` Adhemerval Zanella
2019-03-29 13:35 ` [PATCH 02/28] powerpc: fma using builtins Adhemerval Zanella
2019-04-01 20:05 ` Joseph Myers
2019-04-03 1:06 ` Adhemerval Zanella
2019-04-15 21:44 ` Gabriel F. T. Gomes
2019-04-17 21:10 ` Joseph Myers
2019-04-17 21:28 ` Adhemerval Zanella
2019-03-29 13:35 ` [PATCH 03/28] powerpc: Remove power4 mpa optimization Adhemerval Zanella
2019-04-24 21:51 ` Gabriel F. T. Gomes
2019-04-25 12:19 ` Adhemerval Zanella
2019-03-29 13:35 ` [PATCH 04/28] powerpc: ceil/ceilf refactor Adhemerval Zanella
2019-04-25 1:56 ` Gabriel F. T. Gomes
2019-04-25 21:58 ` Adhemerval Zanella
2019-05-02 18:41 ` Gabriel F. T. Gomes
2019-05-04 21:46 ` Gabriel F. T. Gomes
2019-05-06 12:22 ` Adhemerval Zanella
2019-05-09 19:56 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 05/28] powerpc: floor/floorf refactor Adhemerval Zanella
2019-05-03 21:44 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 06/28] powerpc: round/roundf refactor Adhemerval Zanella
2019-05-04 1:10 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 07/28] powerpc: trunc/truncf refactor Adhemerval Zanella
2019-05-09 20:06 ` Gabriel F. T. Gomes
2019-05-09 20:54 ` Adhemerval Zanella
2019-05-09 21:36 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 08/28] powerpc: generic nearbyint/nearbyintf Adhemerval Zanella
2019-05-27 20:42 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 09/28] powerpc: consolidate rint Adhemerval Zanella
2019-05-30 14:36 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 10/28] powerpc: copysign cleanup Adhemerval Zanella
2019-05-31 14:14 ` Gabriel F. T. Gomes [this message]
2019-03-29 13:35 ` [PATCH 11/28] benchtests: Add isnan/isinf/isfinite benchmark Adhemerval Zanella
2019-06-05 22:45 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 12/28] math: Use wordsize-64 version for isnan Adhemerval Zanella
2019-06-05 22:45 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 13/28] powerpc: Remove optimized isnan Adhemerval Zanella
2019-06-05 22:46 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 14/28] math: Use wordsize-64 version for isinf Adhemerval Zanella
2019-06-11 13:13 ` Gabriel F. T. Gomes
2019-06-13 8:57 ` Szabolcs Nagy
2019-06-13 9:11 ` Szabolcs Nagy
2019-03-29 13:35 ` [PATCH 15/28] powerpc: Remove optimized isinf Adhemerval Zanella
2019-06-11 13:45 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 16/28] math: Use wordsize-64 version for finite Adhemerval Zanella
2019-06-11 16:20 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 17/28] powerpc: Remove optimized finite Adhemerval Zanella
2019-06-11 18:08 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 18/28] powerpc: refactor powerpc64 lrint/lrintf/llrint/llrintf Adhemerval Zanella
2019-06-13 19:30 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 19/28] powerpc: Refactor powerpc32 lrint/lrintf/llrint/llrintf Adhemerval Zanella
2019-06-14 18:34 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 20/28] powerpc: Refactor powerpc64 lround/lroundf/llround/llroundf Adhemerval Zanella
2019-06-13 19:30 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 21/28] powerpc: Refactor powerpc32 lround/lroundf/llround/llroundf Adhemerval Zanella
2019-06-24 21:07 ` Gabriel F. T. Gomes
2019-06-25 18:34 ` Adhemerval Zanella
2019-06-25 18:44 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 22/28] powerpc: Use generic e_expf Adhemerval Zanella
2019-06-26 12:59 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 23/28] benchtests: hypot benchmark Adhemerval Zanella
2019-06-26 19:58 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 24/28] powerpc: hypot refactor and optimization Adhemerval Zanella
2019-04-01 20:14 ` Joseph Myers
2019-04-03 1:08 ` Adhemerval Zanella
2019-06-26 19:59 ` Gabriel F. T. Gomes
2019-07-08 15:37 ` Adhemerval Zanella
2019-07-08 18:30 ` Adhemerval Zanella
2019-03-29 13:35 ` [PATCH 25/28] powerpc: Refactor modf{f} Adhemerval Zanella
2019-07-05 1:23 ` Gabriel F. T. Gomes
2019-07-08 18:30 ` Adhemerval Zanella
2019-03-29 13:35 ` [PATCH 26/28] benchtests: Add logb{f} benchmark Adhemerval Zanella
2019-07-05 1:23 ` Gabriel F. T. Gomes
2019-07-08 18:31 ` Adhemerval Zanella
2019-03-29 13:35 ` [PATCH 27/28] math: Use wordsize-64 version for s_logb Adhemerval Zanella
2019-07-05 1:23 ` Gabriel F. T. Gomes
2019-07-08 18:31 ` Adhemerval Zanella
2019-03-29 13:35 ` [PATCH 28/28] powerpc: refactor logb{f,l} Adhemerval Zanella
2019-07-05 1:24 ` Gabriel F. T. Gomes
2019-07-08 18:31 ` Adhemerval Zanella
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
List information: https://www.gnu.org/software/libc/involved.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190531141403.GC17456@tereshkova \
--to=gabriel@inconstante.eti.br \
--cc=adhemerval.zanella@linaro.org \
--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).