https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84234

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
#pragma omp declare simd or simd attribute say that on the definition compiler
should create alternate entry point(s) for the vectorized variants, and on
declarations that on the definition they were created, and that the compiler
can use them on vectorized loops.  That is true also on your testcase, just the
compiler decided not to use them because it couldn't prove it doesn't have a
side-effect that would prevent it.

What I don't understand is when you are using #pragma omp declare simd why
aren't you also using #pragma omp simd on the loops you want to vectorize.

Reply via email to