Я ковыряюсь в чей-то еще код и в настоящее время пытаюсь понять, почему _mm_load_si128
существует.
По сути, я попытался заменить
_ra = _mm_load_si128(reinterpret_cast<__m128i*>(&cd->data[idx]));
с
_ra = *reinterpret_cast<__m128i*>(&cd->data[idx]);
и он работает и выполняет точно то же самое.
Я понял, что функции загрузки существуют для меньших типов только для удобства, поэтому людям не придется вручную их накапливать в непрерывную память, но для данных, которые уже находятся в правильном порядке, зачем беспокоиться?
Есть ли что-то еще, что _mm_load_si128
? Или это по существу просто круговой способ присвоения значения?