Подтвердить что ты не робот

Опция SSE2 в Visual С++ (x64)

Я добавил конфигурацию x64 в мой проект на С++ для компиляции 64-разрядной версии моего приложения. Все выглядит отлично, но компилятор дает следующее предупреждение:

`cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'`

Оптимизация SSE2 действительно недоступна для 64-битных проектов?

4b9b3361

Ответ 1

Кажется, все 64-разрядные процессоры имеют SSE2. Поскольку опция компилятора всегда включается по умолчанию, не нужно вручную включать ее.

От Wikipedia:

Инструкции SSE. Оригинальная архитектура AMD64 приняла в качестве основных инструкций Intel SSE и SSE2. Инструкции SSE3 были добавлены в апреле 2005 года. SSE2 заменяет набор инструкций x87 IEEE 80-битной точностью с выбором либо IEEE 32-разрядной, либо 64-разрядной математики с плавающей запятой. Это обеспечивает операции с плавающей запятой, совместимые со многими другими современными процессорами. Инструкции SSE и SSE2 также были расширены для работы с восемью новыми регистрами XMM. SSE и SSE2 доступны в 32-битном режиме в современных процессорах x86; однако, если они используются в 32-битных программах, эти программы будут работать только в системах с процессорами, имеющими эту функцию. Это не проблема в 64-битных программах , так как все процессоры AMD64 имеют SSE и SSE2, поэтому использование инструкций SSE и SSE2 вместо инструкций x87 не уменьшает набор машин, на которых могут запускаться программы x64. SSE и SSE2, как правило, быстрее, чем и дублируют большинство функций традиционных инструкций x87, MMX и 3DNow!.

Ответ 2

Я понимаю, что появляется предупреждение, если вы выберете SSE2, хотя его все еще глупо. Однако вы все равно получите предупреждение, если вы выберете /arch: AVX. Я уверен, что он будет исправлен с SP1. Его просто немного спам и раздражение.