Disabling SSE2 support

Disabling SSE2 support

Imagen de c0d1f1ed

Hi folks. I found SDE to be fantastic for emulating instruction sets not supported by my CPU, but is it possible to do the reverse and disable support for specific extensions?

I'm working on a project that uses lots of assembly intrinsics in an abstract vector math library. But things like vectors of 4 integers are only supported when the CPU has SSE2 capabilities, and some operations even require SSE3 or SSE4. It's up to the user to know when an operation can be used or not, and this is becoming very hard to test rigorously since I don't have a system without SSE2 support at my disposal.

If SDE is of no help in this situation, does anyone perhaps know of other ways to disable specific instruction set extensions on the CPU? Thanks for any suggestions.

publicaciones de 7 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.
Imagen de Mark Charney (Intel)

Hi, Thanks for the feedback. Yes, you can use the "-chip-check PENTIUM3" to catch the execution of SSE2 instructions (and other instructions added on Pentium4). Look at the output of "sde -thelp" to see the various -chip-check-* knobs. Different options to dump stuff to a file or keep going to find all of them, etc. One of them, -chip-check-list will list all the processors names it knows about: as in

path-to-kit/sde -chip-check-list -- someprogram
Imagen de c0d1f1ed

Brilliant, thanks for the quick reply!

On a somewhat unrelated note, are there any plans for adding a graphical version of SDE? That would help avoid having to dig through the somewhat obscure command line options. If I find some spare time to do it myself I'd love to contribute it (probably Windows only). Cheers!

Imagen de c0d1f1ed

I found that I still had to set -sse2_cpuid 0 even though -chip_check PENTIUM3 was set. Is this by design? Also -chip_check_list wasn't working for me.

Imagen de Mark Charney (Intel)

The cpuid emulators are separate from the instruction emulators to allow people to test dispatch. about -chip-check-list: are you using the latest version of sde? show the command you typed and the error you saw.

Imagen de c0d1f1ed

Ah yes controlling the CPUID flags separately helps check whether an application uses the extension when considered available. Got it.

I used the following prompt (which shows you the version) and command line:

C:\\sde-hsw-external-4.46.0-2011-12-15-win-intel64-and-ia32
>sde -chip-check-list -- C:\\app.
exe

There is no error message, it just returns to the prompt immediately without showing the chip names.

Imagen de vejn

Hi, I was wondering
how to disable SSE2 from test.exe so that test.exe will use only SSE .
Thx

Inicie sesión para dejar un comentario.