- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Intel folks
I have run into a problem using valgrind to debug my code. Valgrind supports SSE3 instructions but I can not run code compiled and optimized (-O1 -O2 or -O3) using the intel compilers? (-O0 works)
I get the following error:
Fatal Error: This program was not built to run on the processor in your system.
The allowed processors are: Intel Pentium 4 and compatible Intel processors with Streaming SIMD Extensions 3 (SSE3) instruction support.
My understanding is that Valgrind uses CPUID to create a virtual processor which should exactly emulate the real processor?
Is the runtime check failing because the emulation is incorrect or because the run time check is not compatible with the emulation (even though the code could run otherwise)?
Can I turn off the run time check somehow and see what happens?
Thanks
David
I have run into a problem using valgrind to debug my code. Valgrind supports SSE3 instructions but I can not run code compiled and optimized (-O1 -O2 or -O3) using the intel compilers? (-O0 works)
I get the following error:
Fatal Error: This program was not built to run on the processor in your system.
The allowed processors are: Intel Pentium 4 and compatible Intel processors with Streaming SIMD Extensions 3 (SSE3) instruction support.
My understanding is that Valgrind uses CPUID to create a virtual processor which should exactly emulate the real processor?
Is the runtime check failing because the emulation is incorrect or because the run time check is not compatible with the emulation (even though the code could run otherwise)?
Can I turn off the run time check somehow and see what happens?
Thanks
David
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
David,
Compile the main (the module with PROGRAM) as not requiring SSE3, compile everything else with requires SSE3. The processor test is only performed on startup of the main based on main's options. If your main does some productive work, then rename it into a subroutine and make a seperate file as a main stub and call the former main then compile the stub without requirees SSE3.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
David,
You must have also specified -xP somewhere, as otherwise there is no CPU check. If you have, try -xO instead.
You must have also specified -xP somewhere, as otherwise there is no CPU check. If you have, try -xO instead.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page