Missing builtins MSVC
Guillaume Piolat
first.name at gmail.com
Sun Sep 6 12:23:45 UTC 2026
On Sunday, 6 September 2026 at 10:37:47 UTC, Guillaume Piolat
wrote:
> My advice is to translate by hand, depend on intel-intrinsics,
> and enjoy your portable SIMD instead of arch-specific.
Besides, it simply can't work inside ImportC.
There are some functions that are macos in C/C++ and have to be
templates in intel-intrinsics.
One of those is e.g. _mm_shuffle_epi32
In C: `_mm_shuffle_epi32(__m128i a, int imm8);`
However C compilers will ensure that `imm8` is known at
compile-time, it can be a runtime value.
The only way to translate it in D is as a template:
`_mm_shuffle_epi32(int imm8)(__m128i a);`
There are dozens of such functions where a direct translation
doesn't work, that have to be templates.
More information about the Digitalmars-d-learn
mailing list