Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Le_Naour_R_
Beginner
67 Views

OpenMP reduction with SSE __m128 type

Hi,

I'm new with icpc and openmp and i'm currently facing a problem i can't solve by myself.

The problem seems there's no + operator overloaded for SSE type, i'm getting this compilation error

error: reduction variable is incompatible with reduction operator

for the following lines

static __m128 mvs = _mm_setzero_ps();

#pragma omp for reduction(+:mvs)
for(int line = 0; line < height / 4; line++)
{
        //code
}

It does compile with gcc though and with icpc when I use scalar type (like int) instead of __m128.

Am i missing something (compilation option, include) ? 

Thank you

 

 

 

 

 

0 Kudos
2 Replies
Melanie_B_Intel
Employee
67 Views

We have a defect open in our internal bugs database about this issue, DPD200293696 "basic arithmetic operator support for SIMD int types"

JenniferJ
Moderator
67 Views

Update to this issue. it is fixed in 16.0 beta. If you have not tried, you can register for the 16.0 beta at Intel® Parallel Studio XE 2016 Beta program has begun  

Jennifer

Reply