I have a Xeon W3550 processor that is supposed to have support for the SSE4.2 instruction set but when I try and use anything past SSE2 in my c program I get a compiler error e.g.
#error "SSE4.2 instruction set not enabled"
When I use
$cat /procs/cpuinfo
it detects all relevant sse instruction sets but
$cpuid
only detects SSE and SSE2.
My operating system is ubuntu 11.04 with kernel 2.6.38-11-generic.
Any ideas on how to fix this? Thanks.
EDIT: An update based on Steve-o's comment below. The header files <*mmintrin.h> perform a check for the sse version that they are associated with by using #ifndef preprocessor directive e.g.
#ifndef __SSSE3__
#error "SSSE3 instruction set not enabled".
So I guess the question is then why is this coming back false despite the cpu being SSSE3 enabled.
Did you try building with -msse4.2
?
http://gcc.gnu.org/gcc-4.3/changes.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With