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: Fri, 18 Dec 2015 20:15:56 +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> <1450392294 dot 26597 dot 39 dot camel at localhost dot localdomain> <CAMXFM3uGmGxOgcodqpUp7G5_Oyp=325eAHimfZ71aWxWtG5t5A at mail dot gmail dot com> <1450452554 dot 26597 dot 75 dot camel at localhost dot localdomain> <CAMXFM3tCNdj0pqxH2a_erqQa_ojyetMH-kF4w8qGq+1ywZRSEg at mail dot gmail dot com>
On Fri, 2015-12-18 at 20:20 +0300, Andrew Senkevich wrote:
> 2015-12-18 18:29 GMT+03:00 Torvald Riegel <triegel@redhat.com>:
> > On Fri, 2015-12-18 at 16:45 +0300, Andrew Senkevich wrote:
> >> 2015-12-18 1:44 GMT+03:00 Torvald Riegel <triegel@redhat.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?
> >>
> >> Hi,
> >>
> >> do you use trunk GCC?
> >
> > Yes, "recent GCC" was supposed to mean GCC trunk from yesterday or so.
I take that back. The GCC build I used was somewhat older. I can't
reproduce the glibc build problem with a build of today's GCC trunk
anymore, I think. I get a different glibc build problem, but in a test
that is later than math/ I believe.
Sorry for the noise.