Message ID | CAMXFM3t8tH3Sd+0Uny86DoJpou554cwcxO5rHxYh+zzhj0f6Fg@mail.gmail.com |
---|---|
State | New |
Headers | show |
On Fri, 4 Dec 2015, Andrew Senkevich wrote: > Indeed, and patch became much shorter > > 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"))) This shorter patch is OK with spaces added between __attribute__ and '(', and between __simd__ and '('.
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?
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? -- WBR, Andrew
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.
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 asked because I didn't see fail of Glibc build with today GCC. Is it reproduced with GCC trunk? -- WBR, Andrew
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.
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