Open
Description
In the original Xbox 360 implementation of xboxmath, the following functions used tricks and helper intrinsics like vec_ctf
to generate constants:
XMVectorSplatOne
XMVectorSplatInfinity
XMVectorSplatQNaN
XMVectorSplatEpsilon
XMVectorSplatSignMask
For the SSE implementation, they are implemented as just loads from vectorized data-segment constants. It would be nice to find a way to generate the values instead to minimize data read and catch impacts.
For ARM-NEON, most of these use
vdupq_n_f32
orvdupq_n_u32
which should be reasonably efficient already.