diff mbox

[13/14,x86_64] Vector math functions (sincos and tests)

Message ID CAMXFM3srg-a6+MJQ7btm-wMVUBazEif53EyHbnpv=+RCgAocvA@mail.gmail.com
State New
Headers show

Commit Message

Andrew Senkevich June 19, 2015, 11:06 a.m. UTC
2015-06-19 0:55 GMT+03:00 Anton Blanchard <anton@samba.org>:
> Hi Andrew,
>
>> here is implementation of vectorized sincos containing SSE, AVX,
>> AVX2 and AVX512 versions according to Vector ABI
>> <https://groups.google.com/forum/#!topic/x86-64-abi/LmppCfN1rZ4>.
>
> This breaks powerpc64 builds, in sysdeps/ieee754/ldbl-opt/s_sin.c:
>
> #define sincos sincos_disable
>
> Which means we end up with:
>
> __DECL_SIMD_sincos_disable extern void sincos_disable (double __x,
> double *__sinx, double *__cosx) __attribute__ ((__nothrow__ )); extern void __sincos_disable (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__ ))
>                                                         ;
> Regards,
> Anton

Proposal is fix it so:


Ok?


--
WBR,
Andrew

Comments

Joseph Myers June 19, 2015, 11:25 a.m. UTC | #1
On Fri, 19 Jun 2015, Andrew Senkevich wrote:

> Proposal is fix it so:
> 
> diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h
> index ec1fa69..6d0558a 100644
> --- a/bits/libm-simd-decl-stubs.h
> +++ b/bits/libm-simd-decl-stubs.h
> @@ -45,6 +45,10 @@
>  #define __DECL_SIMD_sincosf
>  #define __DECL_SIMD_sincosl
> 
> +/* This is needed because of definition of sincos
> +   in sysdeps/ieee754/ldbl-opt/s_sin.c.  */
> +# define __DECL_SIMD_sincos_disable
> +

It would seem better to me to put this in the .c file that needs it, 
rather than in an installed header - it should only be relevant when 
building glibc, not when using the installed library.
diff mbox

Patch

diff --git a/bits/libm-simd-decl-stubs.h b/bits/libm-simd-decl-stubs.h
index ec1fa69..6d0558a 100644
--- a/bits/libm-simd-decl-stubs.h
+++ b/bits/libm-simd-decl-stubs.h
@@ -45,6 +45,10 @@ 
 #define __DECL_SIMD_sincosf
 #define __DECL_SIMD_sincosl

+/* This is needed because of definition of sincos
+   in sysdeps/ieee754/ldbl-opt/s_sin.c.  */
+# define __DECL_SIMD_sincos_disable
+
 #define __DECL_SIMD_log
 #define __DECL_SIMD_logf
 #define __DECL_SIMD_logl