Ask Your Question

OpenCV 2.4.3 Meets SSE4 Instruction blendvpd in Intel CPU E5200 whice causes "Illegal Instruction"

asked 2013-01-15 09:12:18 -0600

Nikola gravatar image

Hi When i try to run the sample code facedetect.c in VS2008 in Windows XP SP3 32-bit, I meet 0xC000001D: Illegal Instruction in Function detectMultiScale. I am using OpenCV 2.4.3. What is wrong, and what should I do to fix this issue?

Any advice is OK, thanks!!!

Regards Nikola

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2013-01-15 12:22:23 -0600

It looks like E5200 does not support SSE4 instruction set. You need to rebuild OpenCV library with disabled SSE4.

edit flag offensive delete link more


Thanks for your reply. I built OpenCV using CMake, and I can see ENABLE_SSE, ENABLE_SSE2 in configuration, but where to disable SSE4?

Nikola gravatar imageNikola ( 2013-01-15 18:31:53 -0600 )edit

ENABLE_SSE and ENABLE_SSE2 does not control compiler optimizations. It enables and disables pieces of optimized with SSE intrinsics or in-line assembler code. If you use Visual Studio for OpenCv build, open OpenCV project properties Select C++ -> Optimisations and select supported instruction set. I do not remember exact field name, but there is list of instruction sets: no optimizations, SSE, SEE2, etc. If you use GCC compiler, then it builds library with optimizations supported by your hardware by default.

Alexander Smorkalov gravatar imageAlexander Smorkalov ( 2013-01-15 23:30:05 -0600 )edit

Hi Alexander, thanks! And I found the solution in another thread

Nikola gravatar imageNikola ( 2013-01-16 20:21:13 -0600 )edit

Question Tools


Asked: 2013-01-15 09:12:18 -0600

Seen: 864 times

Last updated: Jan 15 '13