This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, VECTOR ABI] Add __attribute__((__simd__)) to GCC.
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Cc: Joseph Myers <joseph at codesourcery dot com>, Jeff Law <law at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 15 Oct 2015 16:39:09 +0200
- Subject: Re: [PATCH, VECTOR ABI] Add __attribute__((__simd__)) to GCC.
- Authentication-results: sourceware.org; auth=none
- References: <20151005130733 dot GB62312 at msticlxl57 dot ims dot intel dot com> <alpine dot DEB dot 2 dot 10 dot 1510051320120 dot 16355 at digraph dot polyomino dot org dot uk> <561551B0 dot 70507 at redhat dot com> <20151014123601 dot GA38813 at msticlxl57 dot ims dot intel dot com> <alpine dot DEB dot 2 dot 10 dot 1510141335490 dot 15356 at digraph dot polyomino dot org dot uk> <20151015143328 dot GA2191 at msticlxl57 dot ims dot intel dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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?
Jakub