yes, ICC ignores cost analysis and follows user request on introduction of simd parallelism in the loop.they follow the omp parallel semantics.
On Tue, Nov 12, 2013 at 3:05 PM, Jakub Jelinek <ja...@redhat.com> wrote: > On Tue, Nov 12, 2013 at 02:48:46PM +0400, Sergey Ostanevich wrote: >> You are right regarding the cost model if we talk about vectorizer alone. >> But the #pragma omp simd goes beyond the vectorizer - it introduces >> parallel context in a place user defines, similar to #pragma omp parallel. >> Are we applying any cost model for omp parallel region? >> >> You can consider this pragma as a helper for developer for 'easily' >> introduce parallelism in his code, hence any type of cost model - >> whatever quality it is - will plays against this paradigm, forcing user >> to play around our cost model to let it make the loop simd-parallel. > > So what do other compilers do here? Does icc also totally ignore all > cost analysis for #pragma omp simd or #pragma simd and vectorizes even when > it would be obviously undesirable? > > Jakub