This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] x86_64: Utilize vector math functions w/o -fopenmp
- From: Torvald Riegel <triegel at redhat dot com>
- To: Andrew Senkevich <andrew dot n dot senkevich at gmail dot com>
- Cc: Joseph Myers <joseph at codesourcery dot com>, libc-alpha <libc-alpha at sourceware dot org>, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Thu, 17 Dec 2015 23:44:54 +0100
- Subject: Re: [PATCH] x86_64: Utilize vector math functions w/o -fopenmp
- Authentication-results: sourceware.org; auth=none
- References: <CAMXFM3tOcznwyGywfCLf1baLW6rLyUdnX1SZe6-AGh41Wb0mqA at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1512041544170 dot 29136 at digraph dot polyomino dot org dot uk> <CAMXFM3t8tH3Sd+0Uny86DoJpou554cwcxO5rHxYh+zzhj0f6Fg at mail dot gmail dot com>
On Fri, 2015-12-04 at 20:27 +0300, Andrew Senkevich wrote:
> 2015-12-04 18:46 GMT+03:00 Joseph Myers <joseph@codesourcery.com>:
> diff --git a/sysdeps/x86/fpu/bits/math-vector.h
> b/sysdeps/x86/fpu/bits/math-vector.h
> index f3bfb86..13d720e 100644
> --- a/sysdeps/x86/fpu/bits/math-vector.h
> +++ b/sysdeps/x86/fpu/bits/math-vector.h
> @@ -28,6 +28,12 @@
> # if defined _OPENMP && _OPENMP >= 201307
> /* OpenMP case. */
> # define __DECL_SIMD_x86_64 _Pragma ("omp declare simd notinbranch")
> +# elif __GNUC_PREREQ (6,0)
> +/* W/o OpenMP use GCC 6.* __attribute__((__simd__)). */
> +# define __DECL_SIMD_x86_64 __attribute__((__simd__("notinbranch")))
> +# endif
> +
> +# ifdef __DECL_SIMD_x86_64
> # undef __DECL_SIMD_cos
> # define __DECL_SIMD_cos __DECL_SIMD_x86_64
> # undef __DECL_SIMD_cosf
I believe this might be what breaks a build on a recent GCC:
../math/bits/mathcalls.h:63:1: error: wrong number of arguments
specified for â__simd__â attribute
__MATHCALL_VEC (cos,, (_Mdouble_ __x));
Or perhaps GCC has a bug. Could somebody have a look please?