1
0
mirror of https://github.com/microsoft/DirectXMath synced 2024-11-26 22:10:06 +00:00

Updated Home (markdown)

Chuck Walbourn 2021-07-10 13:18:47 -07:00
parent b5105f906d
commit 26c3274ce9

27
Home.md

@ -116,6 +116,33 @@ When building with clang/LLVM or other GNU C compilers, the ``_XM_NO_XMVECTOR_OV
For non-Windows platforms, you should use the open source version of [sal.h](https://github.com/dotnet/corert/blob/master/src/Native/inc/unix/sal.h) in your include search path.
## Intel Short Vector Math Library
In Visual Studio 2019, the Intel® Short Vector Library is now available as part of the Visual C++ runtime libraries. In DirectXMath 3.16 or later, I make use of this library to replace the minimax approximations of various transcendental and other math functions listed below. With the GitHub, NuGet, and VCPKG versions this is enabled automatically, but can be disabled by defining the preprocessor symbol `_XM_DISABLE_INTEL_SVML_`. With the Windows 11 SDK, developers must **opt-in** by defining the preprocessor symbol `_XM_SVML_INTRINSICS_`.
For the x86/x64 platform, enabling the SVML makes the following DirectXMath functions into simple inline wrappers around the appropriate SVML function:
<table border=1>
<tr><td>XMVectorExp2</td><td>_mm_exp2_ps</td></tr>
<tr><td>XMVectorExp10</td><td>_mm_exp10_ps</td></tr>
<tr><td>XMVectorExpE</td><td>_mm_exp_ps</td></tr>
<tr><td>XMVectorLog2</td><td>_mm_log2_ps</td></tr>
<tr><td>XMVectorLog10</td><td>_mm_log10_ps</td></tr>
<tr><td>XMVectorLogE</td><td>_mm_log_ps</td></tr>
<tr><td>XMVectorPow</td><td>_mm_pow_ps</td></tr>
<tr><td>XMVectorSin<br />XMVectorSinEst</td><td>_mm_sin_ps</td></tr>
<tr><td>XMVectorCos<br />XMVectorCosEst</td><td>_mm_cos_ps</td></tr>
<tr><td>XMVectorSinCos</td><td>_mm_sincos_ps</td></tr>
<tr><td>XMVectorTan<br />XMVectorTanEst</td><td>_mm_tan_ps</td></tr>
<tr><td>XMVectorSinH</td><td>_mm_sinh_ps</td></tr>
<tr><td>XMVectorCosH</td><td>_mm_cosh_ps</td></tr>
<tr><td>XMVectorTanH</td><td>_mm_tanh_ps</td></tr>
<tr><td>XMVectorASin<br />XMVectorASinEst</td><td>_mm_asin_ps</td></tr>
<tr><td>XMVectorACos<br />XMVectorACosEst</td><td>_mm_acos_ps</td></tr>
<tr><td>XMVectorATan<br />XMVectorATanEst</td><td>_mm_atan_ps</td></tr>
<tr><td>XMVectorATan2<br />XMVectorATan2Est</td><td>_mm_atan2_ps</td></tr>
</table>
# Additional content
[[Extensions]] - Advanced instruction set variants for DirectXMath