@@ -94,14 +94,14 @@ All types and functions are in the `DirectX` namespace. Sub-namespaces are used
9494
9595DirectXMath auto-selects the SIMD backend based on compiler/architecture. Macros cascade from highest to lowest:
9696
97- ```
98- _XM_AVX2_INTRINSICS_ → enables _XM_FMA3_INTRINSICS_ + _XM_F16C_INTRINSICS_
99- _XM_AVX_INTRINSICS_ → enables _XM_SSE4_INTRINSICS_
100- _XM_SSE4_INTRINSICS_ → enables _XM_SSE3_INTRINSICS_
101- _XM_SSE3_INTRINSICS_ → enables _XM_SSE_INTRINSICS_
102- _XM_SSE_INTRINSICS_ (auto-enabled for x86/x64)
97+ ``` cpp
98+ _XM_AVX2_INTRINSICS_ -> enables _XM_FMA3_INTRINSICS_ + _XM_F16C_INTRINSICS_
99+ _XM_AVX_INTRINSICS_ -> enables _XM_SSE4_INTRINSICS_
100+ _XM_SSE4_INTRINSICS_ -> enables _XM_SSE3_INTRINSICS_
101+ _XM_SSE3_INTRINSICS_ -> enables _XM_SSE_INTRINSICS_
102+ _XM_SSE_INTRINSICS_ (auto-enabled for x86/x64)
103103_ XM_ARM_NEON_INTRINSICS_ (auto-enabled for ARM/ARM64)
104- _XM_NO_INTRINSICS_ (pure C++ fallback; force with this define)
104+ _ XM_NO_INTRINSICS_ (pure C++ fallback; force with this define)
105105```
106106
107107Optional macros:
@@ -111,6 +111,7 @@ Optional macros:
111111- `_XM_NO_XMVECTOR_OVERLOADS_` — Disables `XMVECTOR` arithmetic operators (auto-set for GCC/Clang)
112112
113113When writing multi-path implementations, follow this pattern:
114+
114115```cpp
115116#if defined(_XM_NO_INTRINSICS_)
116117 // Pure C++ path
@@ -222,6 +223,7 @@ _In_reads_bytes_(n) // input pointer reading n bytes
222223```
223224
224225Example:
226+
225227```cpp
226228XMMATRIX XM_CALLCONV XMLoadFloat4x4(_In_ const XMFLOAT4X4* pSource) noexcept;
227229void XM_CALLCONV XMStoreFloat4x4(_Out_ XMFLOAT4X4* pDestination, _In_ FXMMATRIX M) noexcept;
0 commit comments