Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Задает архитектуру для создания кода на платформе 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