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