[PATCH] x86_64: Utilize vector math functions w/o -fopenmp

Andrew Senkevich andrew.n.senkevich@gmail.com
Fri Dec 18 17:21:00 GMT 2015


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



More information about the Libc-alpha mailing list