/arch
(x64)
Określa architekturę generowania kodu na x64. Aby uzyskać więcej informacji na /arch
temat innych architektur docelowych, zobacz /arch
(x86), /arch
(ARM64)i /arch
(ARM).
Składnia
/arch:
[AVX
|AVX2
|AVX512
]
Argumenty
/arch:AVX
Umożliwia korzystanie z instrukcji intel Advanced Vector Extensions.
/arch:AVX2
Umożliwia korzystanie z instrukcji Intel Advanced Vector Extensions 2.
/arch:AVX512
Umożliwia korzystanie z instrukcji Intel Advanced Vector Extensions 512.
Uwagi
Opcja /arch
umożliwia korzystanie z niektórych rozszerzeń zestawu instrukcji, szczególnie w przypadku obliczeń wektorowych, dostępnych w procesorach firmy Intel i AMD. Ogólnie rzecz biorąc, ostatnio wprowadzone procesory mogą obsługiwać rozszerzenia poza te obsługiwane przez starsze procesory, chociaż należy zapoznać się z dokumentacją dla określonego procesora lub testu obsługi rozszerzenia zestawu instrukcji przy użyciu __cpuid
przed wykonaniem kodu przy użyciu rozszerzenia zestawu instrukcji.
/arch
Dotyczy tylko generowania kodu dla funkcji natywnych. W przypadku użycia /clr
polecenia do kompilowania /arch
nie ma wpływu na generowanie kodu dla funkcji zarządzanych.
Rozszerzenia procesora mają następujące cechy:
Tryb domyślny używa instrukcji SSE2 dla obliczeń zmiennoprzecinkowych i wektorów skalarnych. Te instrukcje umożliwiają obliczanie z 128-bitowymi wektorami pojedynczej precyzji, podwójnej precyzji i 1, 2, 4 lub 8-bajtowych wartości całkowitych, a także wartościami zmiennoprzecinkowymi o pojedynczej precyzji i podwójnej precyzji.
AVX
wprowadzono alternatywne kodowanie instrukcji dla instrukcji wektorowych i zmiennoprzecinkowych. Umożliwia on wektory 128 bitów lub 256 bitów, a zero rozszerza wszystkie wyniki wektorów do pełnego rozmiaru wektora. (W przypadku starszej zgodności instrukcje wektorów stylu SSE zachowują wszystkie bity poza bitem 127). Większość operacji zmiennoprzecinkowych jest rozszerzana na 256 bitów.AVX2
Rozszerza większość operacji całkowitych na wektory 256-bitowe i umożliwia korzystanie z instrukcji Fused Multiply-Add (FMA).AVX-512
wprowadzono inną formę kodowania instrukcji, która umożliwia wektory 512-bitowe oraz niektóre inne funkcje opcjonalne. Dodano również instrukcje dotyczące innych operacji.
Każda /arch
opcja może również włączyć korzystanie z innych instrukcji niewektorowych skojarzonych z tą opcją. Przykładem jest użycie niektórych instrukcji BMI, gdy /arch:AVX2
jest określony.
__AVX__
Symbol preprocesora jest definiowany po określeniu opcji kompilatora /arch:AVX
/arch:AVX2
lub /arch:AVX512
. __AVX2__
Symbol preprocesora jest definiowany po określeniu /arch:AVX2
opcji lub /arch:AVX512
kompilatora. Symbole __AVX512F__
preprocesora , __AVX512CD__
, __AVX512BW__
__AVX512DQ__
i __AVX512VL__
są definiowane po określeniu opcji kompilatora/arch:AVX512
. Aby uzyskać więcej informacji, zobacz Wstępnie zdefiniowane makra. Opcja /arch:AVX2
została wprowadzona w programie Visual Studio 2013 Update 2 w wersji 12.0.34567.1. Dodano ograniczoną obsługę /arch:AVX512
programu Visual Studio 2017 i rozszerzono w programie Visual Studio 2019.
Aby ustawić /arch:AVX
opcję , /arch:AVX2
lub /arch:AVX512
kompilatora w programie Visual Studio
Otwórz okno dialogowe Strony właściwości dla projektu. Aby uzyskać więcej informacji, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilacji w programie Visual Studio).
Wybierz stronę właściwości Właściwości>konfiguracji C/C++>Code Generation.
W polu rozwijanym Włącz zestaw instrukcji rozszerzonych wybierz pozycję Zaawansowane rozszerzenia wektorów (/arch:AVX), Advanced Vector Extensions 2 (/arch:AVX2) lub Advanced Vector Extensions 512 (/arch:AVX512).
Aby programowo ustawić tę opcję kompilatora
- Zobacz: EnableEnhancedInstructionSet.
Zobacz też
/arch
(Minimalna architektura procesora CPU)
Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla