Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задает архитектуру для создания кода на платформе x64. Эти параметры применяются к версии компилятора, ориентированной на x64. Дополнительные сведения о других целевых архитектурах см. в /arch статьях /arch и /arch (ARM).
Синтаксис
/arch:[SSE2AVX10.2|AVX10.1|AVX512|||AVX2|SSE4.2AVX]
Аргументы
/arch:SSE2
Включает расширения SIMD для потоковой передачи Intel 2. Набор инструкций по умолчанию — SSE2, если параметр не /arch указан.
/arch:SSE4.2
Включает расширения SIMD для потоковой передачи Intel 4.2.
/arch:AVX
Включает расширения расширенного вектора Intel.
/arch:AVX2
Включает расширения расширенного вектора Intel 2.
/arch:AVX512
Включает расширения расширенного вектора Intel 512.
/arch:AVX10.1
Включает расширения Расширенного вектора Intel 10 версии 1.
/arch:AVX10.2
Включает расширения Расширенного вектора Intel 10 версии 2.
Замечания
Этот /arch параметр позволяет использовать определенные расширения наборов инструкций, особенно для вычисления векторов, доступных в процессорах Intel и AMD. Как правило, недавно представленные процессоры могут поддерживать расширения за пределами старых процессоров, хотя следует обратиться к документации по конкретному процессору или проверить поддержку расширения набора инструкций, используя перед __cpuid выполнением кода с помощью расширения набора инструкций. Вы также можете использовать встроенные __check_isa_support функции ЦП для проверки часто используемых функций ЦП.
/arch влияет только на создание кода для собственных функций.
/clr При компиляции /arch не влияет на создание кода для управляемых функций.
Расширения процессора имеют следующие характеристики:
В режиме по умолчанию используются инструкции SSE2 для скалярных вычислений с плавающей запятой и векторов. Эти инструкции позволяют выполнять вычисления с 128-разрядными векторами одноточия, двойной точности и 1, 2, 4 или 8-байтовых целых чисел, а также значениями скалярной с плавающей запятой с одной точностью и двойной точностью.
SSE4.2использует полный набор инструкций SSE для скалярных вычислений с плавающей запятой, векторов и целочисленных векторов.AVXввел альтернативную кодировку инструкций для векторных и скалярных инструкций с плавающей запятой. Он позволяет векторам либо 128 бит, либо 256 битам, и ноль расширяет все результаты вектора до полного размера вектора. (Для устаревшей совместимости векторные инструкции в стиле SSE сохраняют все биты за пределами бита 127.) Большинство операций с плавающей запятой расширяются до 256 бит.AVX2Расширяет большинство целочисленных операций до 256-разрядных векторов и позволяет использовать инструкции fMA.AVX-512появилась другая форма кодирования инструкций, которая позволяет использовать 512-разрядные векторы, маскирование, внедренное округление и трансляцию, а также новые инструкции. ДлинаAVX-512вектора по умолчанию составляет 512 битов и может быть изменена на 256 бит с помощью флага/vlen.AVX10.1добавляет дополнительные инструкции поверхAVX-512. ДлинаAVX10.1вектора по умолчанию составляет 256 битов и может быть изменена на 512 бит с помощью флага/vlen. Этот параметр был представлен в Visual Studio 2022 17.13.AVX10.2расширяет набор инструкций, представленный вAVX10.1. ДлинаAVX10.2вектора по умолчанию составляет 256 битов и может быть увеличена до 512 бит с помощью флага/vlen.AVX10.2добавляет инструкции, которые являются усовершенствованиями устаревших инструкций и инструкций по ускорению мультимедиа. Дополнительные сведения о новых инструкциях см. в разделе 3.1.4 в спецификации архитектуры Intel Advanced Vector Extensions 10.2. Инструкции, связанные с искусственным интеллектом в этом документе, поддерживаются с помощью встроенных функций MSVC, а не создаются напрямую, так как MSVC не поддерживает их типы данных. Этот параметр компилятора появился в Visual Studio 2026.
Каждый /arch параметр также может включать использование других невекторных инструкций, связанных с этим параметром. Примером является использование определенных инструкций BMI при /arch:AVX2 указании.
Символ __AVX__ препроцессора определяется при /arch:AVXуказании параметра компилятора , /arch:AVX2или /arch:AVX512/arch:AVX10.1/arch:AVX10.2 параметра компилятора.
Символ __AVX2__ препроцессора определяется при /arch:AVX2указании параметра компилятора /arch:AVX512, /arch:AVX10.1или /arch:AVX10.2 параметра компилятора.
__AVX512F__Символы , __AVX512CD__, __AVX512DQ____AVX512BW__и __AVX512VL__ препроцессора определяются при /arch:AVX512/arch:AVX10.1указании параметра компилятора ./arch:AVX10.2
Символ __AVX10_VER__ препроцессора определяется при /arch:AVX10.1 указании параметра компилятора./arch:AVX10.2 Он указывает, что версия AVX10, предназначенная для компилятора. Дополнительные сведения см. в разделе "Предопределенные макросы".
Этот /arch:AVX2 параметр был представлен в Visual Studio 2013 с обновлением 2 версии 12.0.34567.1.
Добавлена ограниченная поддержка /arch:AVX512 в Visual Studio 2017 и расширена в Visual Studio 2019.
/arch:AVX10.1 Поддержка добавлена в Visual Studio 2022.
/arch:AVX10.2 Добавлена поддержка в Visual Studio 2026.
Установка параметра компилятора /arch в Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойств сборки в Visual Studio.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Создание кода.
Измените свойство Enable Enhanced Instruction Set .
Установка данного параметра компилятора программным способом
- См. раздел EnableEnhancedInstructionSet.
См. также
/arch (Минимальная архитектура ЦП)
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC