This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
2014-11-06 23:51 GMT+03:00 Andrew Senkevich <andrew.n.senkevich@gmail.com>: > Hi, Joseph, > > 2014-10-24 1:37 GMT+04:00 Joseph S. Myers <joseph@codesourcery.com>: > >> On Thu, 23 Oct 2014, Andrew Senkevich wrote: > >>> diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h >>> index 8a94a7e..2d31a11 100644 >>> --- a/math/bits/mathcalls.h >>> +++ b/math/bits/mathcalls.h >>> @@ -60,6 +60,15 @@ __MATHCALL (atan,, (_Mdouble_ __x)); >>> __MATHCALL (atan2,, (_Mdouble_ __y, _Mdouble_ __x)); >>> >>> /* Cosine of X. */ >>> +#if !defined _Mfloat_ && !defined _Mlong_double_ && defined __DECL_SIMD_cos >>> +__DECL_SIMD_cos >>> +#endif >>> +#if defined _Mfloat_ && !defined _Mlong_double_ && defined __DECL_SIMD_cosf >>> +__DECL_SIMD_cosf >>> +#endif >>> +#if defined _Mlong_double_ && defined __DECL_SIMD_cosl >>> +__DECL_SIMD_cosl >>> +#endif >>> __MATHCALL (cos,, (_Mdouble_ __x)); >> >> As previously noted, I think it would be much better if the definition of >> __MATHCALL can include all the conditional bits (possibly through a >> generated header that defines __DECL_SIMD_cos etc. to empty if not defined >> by bits/math-vector.h). > > proposal is to use separated __MATHCALL_VEC for vector cases, because > it reduces number of needed empty definitions and can be simply > generated (__MATHCALL case requires a lot of manual search to obtain > all affected function names because of redefinitions in some files). > >>> +#if defined __x86_64__ && defined __FAST_MATH__ >>> +# if defined _OPENMP && _OPENMP >= 201307 >>> +/* OpenMP case. */ >>> +# define __DECL_SIMD_AVX2 _Pragma("omp declare simd notinbranch") >>> +# define __DECL_SIMD_SSE4 _Pragma("omp declare simd notinbranch") >> >> Of course we still need the API/ABI documentation providing the stable >> guarantee about exactly what this pragma means regarding the function >> versions it is saying are available in glibc. > > We will follow-up on this soon. > > I attached patch with almost all infrastructure fixes discussed > before. It seems pragma meaning and data tables remain to be done. > Patch affects a lot of files and of course will be separated to > minimal disjoint parts for submission later. Here is the patch updated in part of data table and function code accordingly points mentioned before in this discussion. -- WBR, Andrew
Attachment:
libmvec_141114.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |