On Monday, 4 April 2016 at 20:29:11 UTC, Walter Bright wrote:
- Allowed sets of instructions: for example, AVX2, FMA4
Done. D_SIMD
I'm not a SIMD expert, I've only played around with SIMD a
little, but this confuses me.
version(D_SIMD) will tell you when SIMD is implemented, but not
what type of SIMD. For instance, if I am on a machine that can
use AVX2 instructions, then code in a version(D_SIMD) block will
execute, but it should also execute if the processor only
supports SSE4. What if the writer of an SIMD library wants to
have code execute differently if SSE4 is detected instead of AVX2?