This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 13/14] [x86_64] Vector math functions (sincos and tests)
- From: Andrew Senkevich <andrew dot n dot senkevich at gmail dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: libc-alpha <libc-alpha at sourceware dot org>, sjmunroe at us dot ibm dot com, tuliom at linux dot vnet dot ibm dot com, Anton Blanchard <anton at samba dot org>
- Date: Fri, 19 Jun 2015 14:06:55 +0300
- Subject: Re: [PATCH 13/14] [x86_64] Vector math functions (sincos and tests)
- Authentication-results: sourceware.org; auth=none
- References: <CAMXFM3t4CRSW2pRELmJMU5bE0eoYfUx7pO2-iLqLiGvgE79d_A at mail dot gmail dot com> <20150619075546 dot 4284b164 at kryten>
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:
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
Ok?
--
WBR,
Andrew