Я читал это в MSDN, и там написано
Вы не должны обращаться к полям __m128i напрямую. Однако вы можете увидеть эти типы в отладчике. Переменная типа __m128i сопоставляется с регистрами XMM[0-7].
Однако не объясняет, почему. Почему это? Например, является ли следующее «плохим»:
void func(unsigned short x, unsigned short y)
{
__m128i a;
a.m128i_i64[0] = x;
__m128i b;
b.m128i_i64[0] = y;
// Now do something with a and b ...
}
Вместо выполнения присваиваний, как в приведенном выше примере, следует ли использовать какую-то функцию load
?