Вопрос

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

Есть идеи?

Это было полезно?

Решение

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

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

Вот как это включить в GCC..

Из вышеуказанной ссылки:

-msse3
-mssse3

Другие советы

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

Попробуйте добавить эту программу командной строки GCC:

-march=core2 -msse3

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

-mfpmath=sse

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top