#include
#include
int main() {
__m256i a = _mm256_set_epi32(8, 7, 6, 5, 4, 3, 2, 1);
__m256i b = _mm256_set_epi32(16, 15, 14, 13, 12, 11, 10, 9);
__m256i c = _mm256_unpacklo_epi32(a, b);
int* values = (int*)&c;
for (size_t i = 0; i < 8 - 1; i++) {
std::cout
- В чем причина этого? Есть ли инструкция, которая переключает нижние 128 -битные векторы из исходных векторов? Поведение не кажется мне таким полезным. Docs/CPP-компилятор/разработчик-Guide-Reference/2021-10/MM256-UNPACKLO-EPI8-16-32-64.HTML. Где это говорит, что второй самый низкий двойной слой игнорируется?
Подробнее здесь: https://stackoverflow.com/questions/794 ... o-in-the-d
Мобильная версия