Aracılığıyla paylaş


/arch (x86)

Kod oluşturma x 86 mimarisi belirtir.See also /arch (x64) and /arch (ARM).

/arch:[IA32|SSE|SSE2|AVX]

Değişkenler

  • /arch:IA32
    Gelişmiş hiçbir yönerge ve kayan nokta hesaplamaları için x 87 de belirtir.

  • /arch:SSE
    sse yönergeleri kullanımını etkinleştirir.

  • /arch:SSE2
    SSE2 yönerge kullanımını etkinleştirir.Bu x 86 platformlar üzerinde varsayılan yönerge yok ise, /arch seçeneği belirtildi.

  • /arch:AVX
    Intel Gelişmiş vektör uzantıları yönerge kullanımını etkinleştirir.

Notlar

sse ve SSE2 yönerge çeşitli Intel ve amd İşlemciler mevcuttur.Sandy Bridge Intel işlemciler ve Bulldozer amd işlemciler üzerinde avx yönergeleri bulunmaktadır.

_M_IX86_FP , Makro gösterir, varsa, /arch derleyici seçeneği kullanıldı.Daha fazla bilgi için bkz. Önceden tanımlı makrolar.

Ne zaman ve nasıl kullanılacağını sse ve SSE2 yönerge iyileştirici seçer, /arch belirtilir.sse kullanır ve bunun daha hızlı sse/SSE2 yönerge ve kayıtları kayan nokta x 87 kullanmak üzere olduğunu belirlediğinde skalar bazı kayan nokta hesaplamaları için SSE2 yönerge yığın kaydedin.Sonuç olarak, kodunuzu kayan nokta hesaplamaları için aslında x 87 hem sse/SSE2 bir karışımını kullanır.Ayrıca, ile /arch:SSE2, SSE2 yönerge bazı 64-bit tamsayı işlemleri için kullanılabilir.

sse ve SSE2 yönerge kullanmanın yanı sıra, derleyici sse ve SSE2 desteği işlemcisi düzeltmeleri üzerinde bulunan diğer yönergeler de kullanır.Intel işlemcileri Pentium Pro gözden geçirme ilk görünen cmov yönergesi buna bir örnektir.

Kullandığınızda, /CLR derlemek için /arch kod üretimi için Yönetilen işlevler üzerinde hiçbir etkisi yoktur./archyalnızca yerel işlevler için kod üretimi etkiler.

/archve /QIfist aynı derlenecek üzerinde kullanılamaz.Bunu, özellikle _controlfp fp denetim sözcüğü, daha sonra çalışma zamanı başlangıç kod kümeleri x 87 fpu denetim sözcüğü hassasiyeti denetiminin alanı 53-bit değiştirmek için.Bu nedenle, her float ve double işlem deyim içinde 53-bit significand ve 15 bit üs değeri kullanır.Ancak, bir 24-bit significand ve 8-bit üs her sse tek duyarlıklı işlemi kullanır ve SSE2 çift duyarlıklı işlemlerinin 53-bit significand ve 11 bit üs kullanın.Daha fazla bilgi için bkz. _control87, _controlfp, __control87_2.Bu farklılıkların bir ifade ağacı, ancak kullanıcı ataması sonra her alt ifadeyi burada söz konusu olmayan durumlarda kullanılabilir.Aşağıdakileri dikkate alın:

    r = f1 * f2 + d;  // Different results are possible on SSE/SSE2.

Karşı:

   t = f1 * f2;   // Do f1 * f2, round to the type of t.
   r = t + d;     // This should produce the same overall result 
                  // whether x87 stack is used or SSE/SSE2 is used.

controlfpmxcsr denetim bitlerinin değiştirmez.Bu nedenle, ile /arch:SSE2, üzerine bağlıdır herhangi bir işlevsellik controlfp kopar.

Visual Studio içindeki sse ve SSE2 Bu derleyici seçeneğini ayarlamak için

  1. Açık Özellik sayfaları Proje iletişim kutusu.Daha fazla bilgi için bkz. Nasıl yapılır: Proje özellik sayfalarını açın.

  2. Seçin c/c++ klasör.

  3. Seçin Kod üretimi özellik sayfası.

  4. Değiştirmek Etkinleştirmek Gelişmiş yönerge kümesi özelliği.

/Arch:AVX derleyici seçeneği Visual Studio ayarlamak için

  1. Açık Özellik sayfaları Proje iletişim kutusu.Daha fazla bilgi için bkz. Nasıl yapılır: Proje özellik sayfalarını açın.

  2. Seçin c/c++ klasör.

  3. Seçin komut satırı özellik sayfası.

  4. İçinde ek seçenekler kutusunda, eklemek /arch:AVX.

Bu derleyici seçeneğini programlı olarak ayarlamak için

Ayrıca bkz.

Başvuru

/arch (En Düşük CPU Mimarisi)

Derleme Seçenekleri

Derleyici seçeneklerini ayarlama