Arahan kompilator Pustaka DirectXMath

Direktif kompilator menyempurnakan fungsionalitas yang digunakan pustaka DirectXMath.

Direktif Deskripsi
_XM_NO_INTRINSICS_ Ketika _XM_NO_INTRINSICS_ ditentukan, operasi DirectXMath diimplementasikan tanpa menggunakan intrinsik khusus platform apa pun. Sebaliknya, DirectXMath hanya menggunakan operasi floating point standar.
Secara default, _XM_NO_INTRINSICS_ tidak ditentukan.
Arahan ini mengambil alih semua arahan lainnya. Oleh karena itu, kami sarankan Anda memeriksa _XM_NO_INTRINSICS_ sebelum Anda menentukan status _XM_ARM_NEON_INTRINSICS_ atau _XM_SSE_INTRINSICS_.
_XM_SSE_INTRINSICS_ Ketika _XM_SSE_INTRINSICS_ ditentukan, kode dikompilasi untuk menggunakan SSE dan SSE2 pendukung pada platform yang mendukung set instruksi ini.
Versi Windows yang menyediakan intrinsik SSE mendukung SSE dan SSE2.
_XM_SSE_INTRINSICS_ tidak berpengaruh pada sistem yang tidak mendukung SSE dan SSE2.
Secara default, _XM_SSE_INTRINSICS_ ditentukan saat pengguna mengkompilasi untuk platform Windows.
DirectXMath menggunakan compiler standar yang ditentukan (_M_IX86 /_M_AMD64) untuk menentukan target Windows x86 atau Windows x64.
_XM_ARM_NEON_INTRINSICS_ Ini menunjukkan implementasi DirectXMath menggunakan intrinsik ARM-NEON. Secara default, _XM_ARM_NEON_INTRINSICS_ ditentukan ketika pengguna mengkompilasi untuk Windows pada platform ARM / ARM64. DirectXMath menggunakan definisi kompilator standar (_M_ARM, _M_ARM64) untuk menentukan target biner ini.
Dukungan intrinsik ARM-NEON baru untuk DirectXMath dan tidak didukung oleh XNAMath 2.x.
_XM_SSE3_INTRINSICS_ Baru untuk DirectXMath 3.10.
Ketika Anda menentukan direktif kompilator ini, fungsi DirectXMath diimplementasikan untuk menggunakan intrinsik SSE3 jika berlaku; jika tidak, ia menggunakan SSE/SSE2.
_XM_SSE4_INTRINSICS_ Baru untuk DirectMath 3.09.
Ketika Anda menentukan direktif kompilator ini, fungsi DirectXMath diimplementasikan untuk menggunakan intrinsik SSE3 dan SSE4.1 jika berlaku; jika tidak, ia menggunakan SSE/SSE2. Ketika Anda menentukan direktif kompilator ini, itu juga menyiratkan _XM_SSE3_INTRINSICS_ dan _XM_SSE_INTRINSICS_.
_XM_AVX_INTRINSICS_ Baru untuk DirectXMath 3.09.
Penggunaan /arch:AVX akan mengaktifkan arahan ini.
Ketika Anda menentukan direktif kompilator ini, fungsi DirectXMath diimplementasikan untuk menggunakan intrinsik SSE3, SSE4.1, dan AVX 128-bit jika berlaku; jika tidak, DirectXMath menggunakan SSE/SSE2. Ketika Anda menentukan direktif kompilator ini, itu juga menyiratkan _XM_SSE3_INTRINSICS, _XM_SSE4_INTRINSICS_, dan _XM_SSE_INTRINSICS_, dan menyertakan subset kecil instruksi SSE3.
XM_AVX2_INTRINSICS_ Baru untuk DirectXMath 3.11.
Penggunaan /arch:AVX2 memungkinkan arahan ini. Ketika Anda menentukan direktif kompilator ini, fungsi DirectXMath menggunakan intrinsik AVX2, F16C/CVT16, FMA3, AVX 128-bit, SSE4.1, dan SSE3 jika berlaku. Saat Anda menggunakan _XM_AVX2_INTRINSICS_, itu menyiratkan _XM_F16C_INTRINSICS_, _XM_FMA3_INTRINSICS_, _XM_AVX_INTRINSICS_, _XM_SSE_INTRINSICS_, _XM_SSE3_INTRINSICS_, dan _XM_SSE4_INTRINSICS_.
_XM_F16C_INTRINSICS_ Baru untuk DirectXMath 3.09.
Ketika Anda menentukan direktif kompilator ini, fungsi DirectXMath diimplementasikan untuk menggunakan intrinsik SSE3, SSE4.1, AVX 128-bit, dan F16C/CVT16 jika berlaku; jika tidak, DirectXMath menggunakan SSE/SSE2. Saat Anda menggunakan _XM_F16C_INTRINSICS_, itu menyiratkan _XM_AVX_INTRINSICS_, _XM_SSE_INTRINSICS_, _XM_SSE3_INTRINSICS_, dan _XM_SSE4_INTRINSICS_.
_XM_FMA3_INTRINSICS_ Baru untuk DirectXMath 3.11.
Ketika Anda menentukan direktif kompilator ini, fungsi DirectXMath akan menggunakan intrinsik SSE3, SSE4.1, AVX 128-bit, dan FMA3 jika berlaku; jika tidak, DirectXMath menggunakan SSE/SSE2. Saat Anda menggunakan _XM_FMA3_INTRINSICS_, itu menyiratkan _XM_AVX_INTRINSICS_, _XM_SSE_INTRINSICS_, _XM_SSE3_INTRINSICS_, dan _XM_SSE4_INTRINSICS_.
_XM_VECTORCALL_ Ini memungkinkan penggunaan konvensi panggilan __vectorcall untuk target Windows x86 atau Windows x64. Ini default ke _XM_VECTORCALL_=1 ketika pengkompilasi mendukung fitur ini. Anda dapat mengaturnya secara manual ke _XM_VECTORCALL_=0 untuk selalu menonaktifkannya.
__vectorcall tidak didukung untuk Windows pada platform ARM / ARM64 atau C++Terkelola.
_XM_SVML_INTRINSICS_ Baru untuk DirectXMath 3.16.
Dengan VS 2019 atau yang lebih baru, ini memungkinkan pustaka menggunakan IntelĀ® Short Vector Matrix Library untuk x86/x64.

 

Referensi Pemrograman DirectXMath