Skip to content

Extensions

Chuck Walbourn edited this page Apr 27, 2022 · 5 revisions

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

For Use

  • Universal Windows Platform apps
  • Windows desktop apps
  • Windows 11
  • Windows 10
  • Windows 8.1
  • Xbox One
  • Xbox Series X|S
  • Windows Subsystem for Linux

Architecture

  • x86
  • x64
  • ARM64

For Development

  • Visual Studio 2022
  • Visual Studio 2019 (16.11)
  • clang/LLVM v12 - v18
  • GCC 10.5, 11.4, 12.3
  • MinGW 12.2, 13.2
  • Intel Classic Compiler
  • Intel oneAPI Compiler

Related Projects

DirectX Tool Kit for DirectX 11

DirectX Tool Kit for DirectX 12

DirectXMesh

DirectXTex

Tools

Test Suite

See also

DirectX Landing Page

Clone this wiki locally