This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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]

Re: Vectorizer Pragmas


On 15 February 2014 19:26, Jakub Jelinek <jakub@redhat.com> wrote:
> GCC supports #pragma GCC ivdep/#pragma simd/#pragma omp simd, the last one
> can be used without rest of OpenMP by using -fopenmp-simd switch.

Does the simd/omp have control over the tree vectorizer? Or are they
just flags for the omp implementation?


> I don't see why we would need more ways to do the same thing.

Me neither! That's what I'm trying to avoid.

Do you guys use those pragmas for everything related to the
vectorizer? I found that the Intel pragmas (not just simd and omp) are
pretty good fit to most of our needed functionality.

Does GCC use Intel pragmas to control the vectorizer? Would be good to
know how you guys did it, so that we can follow the same pattern.

Can GCC vectorize lexical blocks as well? Or just loops?

IF those pragmas can't be used in lexical blocks, would it be desired
to extend that in GCC? The Intel guys are pretty happy implementing
simd, omp, etc. in LLVM, and I think if the lexical block problem is
common, they may even be open to extending the semantics?

cheers,
--renato


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]