Message ID | 20151015144739.GB2191@msticlxl57.ims.intel.com |
---|---|
State | New |
Headers | show |
Hello, On 15 Oct 17:47, Kirill Yukhin wrote: > Hi Jakub, > On 15 Oct 16:39, Jakub Jelinek wrote: > > On Thu, Oct 15, 2015 at 05:33:32PM +0300, Kirill Yukhin wrote: > > > --- a/gcc/doc/extend.texi > > > +++ b/gcc/doc/extend.texi > > > @@ -3066,6 +3066,20 @@ This function attribute make a stack protection of the function if > > > flags @option{fstack-protector} or @option{fstack-protector-strong} > > > or @option{fstack-protector-explicit} are set. > > > > > > +@item simd > > > +@cindex @code{simd} function attribute. > > > +This attribute enables creation of one or more function versions that > > > +can process multiple arguments using SIMD instructions from a > > > +single invocation. Specifying this attribute allows compiler to > > > +assume that such a versions are available at link time (provided > > > +in the same or another translation unit). Generated versions are > > > +target dependent and described in corresponding Vector ABI document. For > > > +x86_64 target this document can be found > > > +@w{@uref{https://sourceware.org/glibc/wiki/libmvec?action=AttachFile&do=view&target=VectorABI.txt,here}}. > > > +It is prohibited to use the attribute along with Cilk Plus's @code{vector} > > > +attribute. If the attribute is specified and @code{#pragma omp declare simd} > > > +presented on a declaration, then the attribute is ignored. > > > > Is that what is implemented? I mean, isn't the argument ignored only > > if #pragma omp declare simd is present and -fopenmp or -fopenmp-simd > > passed on the command line, because otherwise the pragma is ignored? > You're right. The attribute is ignored if `pragma omp declare simd' is > got in charge. Which happens only if -fopenmp or -fopenmp-simd is > are passed. > Updated hunk for doc/extend.texi is in the bottom. Ping? -- Thanks, K
On Thu, 22 Oct 2015, Kirill Yukhin wrote:
> Ping?
You need to update this patch to take account of Marek's fix for bug 67964
(it was because I was suspicious of the "continue;" in this patch
accepting invalid syntax that I found that bug), retest and resubmit.
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 79440d3..d9463d8 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -3066,6 +3066,21 @@ This function attribute make a stack protection of the function if flags @option{fstack-protector} or @option{fstack-protector-strong} or @option{fstack-protector-explicit} are set. +@item simd +@cindex @code{simd} function attribute. +This attribute enables creation of one or more function versions that +can process multiple arguments using SIMD instructions from a +single invocation. Specifying this attribute allows compiler to +assume that such a versions are available at link time (provided +in the same or another translation unit). Generated versions are +target dependent and described in corresponding Vector ABI document. For +x86_64 target this document can be found +@w{@uref{https://sourceware.org/glibc/wiki/libmvec?action=AttachFile&do=view&target=VectorABI.txt,here}}. +It is prohibited to use the attribute along with Cilk Plus's @code{vector} +attribute. If the attribute is specified and @code{#pragma omp declare simd} +presented on a declaration and @code{-fopenmp} or @code{-fopenmp-simd} +switch is specified, then the attribute is ignored. + @item target (@var{options}) @cindex @code{target} function attribute Multiple target back ends implement the @code{target} attribute