Aracılığıyla paylaş


/arch (x64)

x64 üzerinde kod oluşturma mimarisini belirtir. Diğer hedef mimariler hakkında /arch daha fazla bilgi için bkz /arch . (x86),/arch(ARM64)ve /arch (ARM).

Sözdizimi

/arch:[AVX|AVX2|AVX512]

Bağımsız değişkenler

/arch:AVX
Intel Gelişmiş Vektör Uzantıları yönergelerinin kullanılmasını sağlar.

/arch:AVX2
Intel Advanced Vector Extensions 2 yönergelerinin kullanılmasını sağlar.

/arch:AVX512
Intel Advanced Vector Extensions 512 yönergelerinin kullanılmasını sağlar.

Açıklamalar

bu /arch seçenek, Intel ve AMD işlemcilerinde kullanılabilen vektör hesaplaması için belirli yönerge kümesi uzantılarının kullanılmasını sağlar. Genel olarak, daha yakın zamanda tanıtılan işlemciler eski işlemciler tarafından desteklenenlerin ötesinde uzantıları desteklese de, bir yönerge kümesi uzantısı kullanarak kod yürütmeden önce belirli bir işlemcinin belgelerine başvurmanız veya kullanma yönerge kümesi uzantısı desteği için test __cpuid kullanmanız gerekir.

/arch yalnızca yerel işlevler için kod oluşturmayı etkiler. Derlemek için kullandığınızda /clr , /arch yönetilen işlevler için kod oluşturma üzerinde hiçbir etkisi olmaz.

İşlemci uzantıları aşağıdaki özelliklere sahiptir:

  • Varsayılan mod, skaler kayan nokta ve vektör hesaplamaları için SSE2 yönergelerini kullanır. Bu yönergeler tek duyarlıklı, çift duyarlıklı ve 1, 2, 4 veya 8 baytlık tamsayı değerlerinin yanı sıra tek duyarlıklı ve çift duyarlıklı skaler kayan nokta değerlerinden oluşan 128 bit vektörlerle hesaplamaya olanak tanır.

  • AVX vektör ve kayan nokta skaler yönergeleri için alternatif bir yönerge kodlaması kullanıma sunulmuştur. 128 bit veya 256 bit vektörlere izin verir ve tüm vektör sonuçlarını tam vektör boyutuna sıfır genişletir. (Eski uyumluluk için, SSE stili vektör yönergeleri bit 127'nin ötesindeki tüm bitleri korur.) Kayan nokta işlemlerinin çoğu 256 bit'e genişletilir.

  • AVX2 çoğu tamsayı işlemini 256 bit vektörlere genişletir ve Birleşik Çarpma-Ekle (FMA) yönergelerinin kullanılmasını sağlar.

  • AVX-512 512 bit vektörlere ve isteğe bağlı diğer bazı özelliklere izin veren başka bir yönerge kodlama formu eklendi. Diğer işlemlere yönelik yönergeler de eklendi.

Her /arch seçenek, bu seçenekle ilişkilendirilmiş diğer vektör dışı yönergelerin kullanımını da etkinleştirebilir. Belirli BMI yönergelerinin belirtildiğinde /arch:AVX2 kullanılması örnek olarak verilmiştir.

__AVX__ Ön işlemci simgesi, veya /arch:AVX2/arch:AVX512 derleyici seçeneği belirtildiğinde /arch:AVXtanımlanır. __AVX2__ Ön işlemci simgesi, veya /arch:AVX512 derleyici seçeneği belirtildiğinde /arch:AVX2 tanımlanır. __AVX512F__Derleyici seçeneği belirtildiğinde /arch:AVX512 , __AVX512CD__, __AVX512BW____AVX512DQ__ ve __AVX512VL__ önişlemci simgeleri tanımlanır. Daha fazla bilgi için bkz . Önceden tanımlanmış makrolar. Bu /arch:AVX2 seçenek Visual Studio 2013 Güncelleştirme 2, sürüm 12.0.34567.1'de sunulmuştur. için /arch:AVX512 sınırlı destek Visual Studio 2017'ye eklendi ve Visual Studio 2019'da genişletildi.

Visual Studio'da /arch:AVX, /arch:AVX2 veya /arch:AVX512 derleyici seçeneğini ayarlamak için

  1. Proje için Özellik Sayfaları iletişim kutusunu açın. Daha fazla bilgi için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.

  2. Yapılandırma Özellikleri>C/C++>Kod Oluşturma özellik sayfasını seçin.

  3. Gelişmiş Yönerge Kümesini Etkinleştir açılan kutusunda Gelişmiş Vektör Uzantıları (/arch:AVX), Gelişmiş Vektör Uzantıları 2 (/arch:AVX2) veya Gelişmiş Vektör Uzantıları 512 (/arch:AVX512) seçeneğini belirleyin.

Bu derleyici seçeneğini program üzerinden ayarlamak için

Ayrıca bkz.

/arch (En Düşük CPU Mimarisi)
MSVC derleyici seçenekleri
MSVC derleyicisi komut satırı söz dizimi