Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

illegal instruction when using sse4

sidzonline85
Beginner
297 Views

I am writing a code which involves calculating the dot product of two vectors. Therefore, I tried to use the _mm_dp_ps inttrinsic available in sse4, but got an illegal instruction at runtime. There were no compilation errors.

The compiler I am using is icc and the processor is a xeon 5150, which according to processor specifications does support sse4, but a /proc/cpuinfo (in linux) on the same shows support only until sse2.

Can some one tell me why am I facing an illegal instruction and if at sse4 needs to be enabled explicitly, how do I do it?
0 Kudos
3 Replies
Dmitry_Vyukov
Valued Contributor I
297 Views
There are several version of SSE4 - SSE4.1, SSE4.2.
My processors also "supports SSE4", but up to SSE4.1. I get similar errors when trying to use SSE4.2 instructions.
0 Kudos
Dmitry_Vyukov
Valued Contributor I
297 Views
_mm_dp_ps requires SSE4.1
Xeon 5150 supports only SSE3

0 Kudos
sidzonline85
Beginner
297 Views
thanks dmitriy. I saw a processor comparision page which said that xeon 5150 actually supported sse4. but the intel specification page for xeon 5100 series states support only upto sse3. thanks bro.
0 Kudos
Reply