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:[SSE2AVX10.1|AVX512|||AVX2|SSE4.2AVX]

Bağımsız değişkenler

/arch:SSE2
Intel Streaming SIMD Extensions 2'yi etkinleştirir. Seçenek belirtilmezse /arch varsayılan yönerge kümesi SSE2'dir.

/arch:SSE4.2
Intel Streaming SIMD Extensions 4.2'yi etkinleştirir.

/arch:AVX
Intel Gelişmiş Vektör Uzantıları'nı etkinleştirir.

/arch:AVX2
Intel Advanced Vector Extensions 2'i etkinleştirir.

/arch:AVX512
Intel Advanced Vector Extensions 512'i etkinleştirir.

/arch:AVX10.1
Intel Advanced Vector Extensions 10 sürüm 1'i etkinleştirir.

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. Daha sık kullanılan CPU özelliklerini denetlemek için iç öğesini de kullanabilirsiniz __check_isa_support .

/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.

  • SSE4.2 kayan nokta skaler, vektör ve tamsayı vektör hesaplamaları için SSE yönergelerinin tamamını kullanı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örler, maskeleme, katıştırılmış yuvarlama/yayın ve yeni yönergelere izin veren başka bir yönerge kodlama formu eklendi. için AVX-512 varsayılan vektör uzunluğu 512 bittir ve bayrağı kullanılarak 256 bit olarak /vlen değiştirilebilir.

  • AVX10.1 üzerine daha fazla yönerge AVX-512ekler. için AVX10.1 varsayılan vektör uzunluğu 256 bittir ve bayrağı kullanılarak 512 bit olarak /vlen değiştirilebilir.

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 , , /arch:AVX2/arch:AVX512veya /arch:AVX10.1 derleyici seçeneği belirtildiğinde /arch:AVXtanımlanır. __AVX2__ Ön işlemci simgesi , /arch:AVX512veya /arch:AVX10.1 derleyici seçeneği belirtildiğinde /arch:AVX2tanımlanır. __AVX512F__, __AVX512CD__, , __AVX512BW__, __AVX512DQ__ve __AVX512VL__ önişlemci simgeleri, veya /arch:AVX10.1 derleyici seçeneği belirtildiğinde /arch:AVX512tanımlanır. __AVX10_VER__ Derleyici seçeneği belirtildiğinde /arch:AVX10.1 ön işlemci simgesi tanımlanır. Derleyicinin hedeflediğini AVX10 sürümünü gösterir. 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. desteği /arch:AVX10.1 Visual Studio 2022'ye eklendi.

Visual Studio'da /arch 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 özelliğini değiştirin.

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