From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-4.1 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 65C591F462 for ; Fri, 31 May 2019 14:14:17 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:cc:subject:message-id:references :mime-version:content-type:in-reply-to; q=dns; s=default; b=cSY3 WRw9UYqoH2Gk/1o2okoFt/Qts/RkXYVJyimymHP3rv3roKsJk3vE/sPvd2qR22H0 TV93VTZPWWCxMVhmuzzdmGlKHurFjwaazjrl+uUYdPuOHUX8+6Iwuk+775fzaw0Y sydnz6NWMBoF1j7WY+XeXcUHzNbMBFqcnDyA+KE= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:cc:subject:message-id:references :mime-version:content-type:in-reply-to; s=default; bh=Tq0mVUO/Q4 XKaySWXcSVVLHfWgI=; b=JOe3vgBOFejQbN/LImWxtPUoZP2YU/Ni5FfxQjANPA FB89iNjCmCrfH4MxLM1/K257Ggx+mU7pEniGEe0FlbS6whD+/HonI/u3AvjyhE82 yYvZHV6pFXVGs1gGtbIkvDHAvad+TEFAgDXJa0tYgWANQ0AXB1JJjAIQU0kXwtyw U= Received: (qmail 91593 invoked by alias); 31 May 2019 14:14:15 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 91157 invoked by uid 89); 31 May 2019 14:14:14 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: smtpout1.mo803.mail-out.ovh.net Date: Fri, 31 May 2019 11:14:03 -0300 From: "Gabriel F. T. Gomes" To: Adhemerval Zanella CC: Subject: Re: [PATCH 10/28] powerpc: copysign cleanup Message-ID: <20190531141403.GC17456@tereshkova> References: <20190329133529.22523-1-adhemerval.zanella@linaro.org> <20190329133529.22523-11-adhemerval.zanella@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20190329133529.22523-11-adhemerval.zanella@linaro.org> User-Agent: Mutt/1.9.2 (2017-12-15) X-Ovh-Tracer-Id: 3940931149735644873 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduuddrudefuddgjeehucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddm Looks good with the minor fixes below. Reviewed-by: Gabriel F. T. Gomes 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.