Есть core.simd.Vector
, что делает нечто подобное. Я точно не знаю, в чем различия, но я уверен, что они есть.
Я знаю, что Vector
принимает количество элементов вместо размера в байтах, поэтому
typedef double Vec __attribute__ ((vector_size(16)));
становится
import core.simd : Vector;
alias Vec = Vector!(double[2]);
Однако DMD поддерживает это только для x64. Он работает в LDC как для 32-битных, так и для 64-битных архитектур, и я считаю, что то же самое верно и для GDC.