Question

I am using Intel Core2Duo E4500 processor. It is supposed to have SSE3, SSSE3 facilities. But if I try to use them in programs it shows the following error "SSE3 instruction set not enabled"

Any ideas?

Was it helpful?

Solution

Use CPU-Z to check for available instruction sets.

If you're using Visual Studio, there's an option in C/C++ -> Code Generation -> Enable Enhanced Instruction Set.

Here's how to enable it in gcc.

From the above link:

-msse3
-mssse3

OTHER TIPS

On Linux, have a look at the flags field of the output of cat /proc/cpuinfo

Try adding this gcc command line options:

-march=core2 -msse3

And probably is also a good idea to turn on sse optimizations for floating point operations:

-mfpmath=sse

If you compile on the same machine where you will be executing your code, with any recent gcc you should be able to use -march=native to take advantage of all your CPU features. It should tell you during compilation then, if you are using unsupported instructions in your asm.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top