5 Extensions
Chuck Walbourn редактировал(а) эту страницу 2022-04-26 18:49:21 -07:00

These extensions are for use in 'guarded codepaths' where at runtime you would check for the instruction set support, and have a fallback if it's not present.

These optimizations are included with DirectXMath 3.09 or later if you build with /arch:AVX and/or /arch:AVX2 since such binaries do not have 'guarded codepaths'. Be sure to call XMVerifyCPUSupport early to validate that your system supports the required instruction sets.

SSE3

DirectXMathSSE3.h contains function variants for the SSE3 instruction set.

See this post

SSSE3

DirectXMathBE.h contains a vector endian-swap function which makes use of the SSSE3 instruction set.

See this post

SSE4

DirectXMathSSE4.h contains a function variants for the SSE4, specifically SSE 4.1, instruction set.

See this post

AVX

DirectXMathAVX.h contains function variants for the AVX instruction set.

See this post

AVX2

DirectXMathAVX2.h contains function variants for the AVX version 2 instruction set.

See this post

F16C

DirectXMathF16C.h contains function variants for the F16C instruction set, which is also required for AVX2.

See this post

FMA3

DirectXMathFMA3.h contains function variants for the Intel FMA3 instruction set, which is also required for AVX2.

See this post

FMA4

DirectXMathFMA4.h contains function variants for the AMD-specific FMA4 instruction set.

See this post