Проверка SIMD версии - PullRequest
       4

Проверка SIMD версии

0 голосов
/ 25 октября 2010

Я использую процессор Intel Core2Duo E4500. Предполагается иметь средства SSE3, SSSE3. Но если я попытаюсь использовать их в программах, появится следующая ошибка: «Набор инструкций SSE3 не включен»

Есть идеи?

Ответы [ 4 ]

1 голос
/ 25 октября 2010

Попробуйте добавить следующие параметры командной строки gcc:

-march=core2 -msse3

И, вероятно, также неплохо включить sse-оптимизацию для операций с плавающей запятой:

-mfpmath=sse
1 голос
/ 25 октября 2010

В Linux посмотрите на поле flags вывода cat /proc/cpuinfo

0 голосов
/ 25 октября 2010

Если вы компилируете на той же машине, где будете выполнять код, с любым последним gcc вы сможете использовать -march=native, чтобы воспользоваться всеми функциями вашего процессора. Это должно сообщить вам во время компиляции, если вы используете неподдерживаемые инструкции в вашем asm.

0 голосов
/ 25 октября 2010

Используйте CPU-Z для проверки доступных наборов команд.

Если вы используете Visual Studio, есть опция в C/C++ -> Code Generation -> Enable Enhanced Instruction Set.

Вот как включить его в gcc .

Из приведенной выше ссылки:

-msse3
-mssse3
...