Вот у меня __m128i SIMD-вектор - каждый из 16 байт содержит следующее значение:
1 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1
Можно ли как-то преобразовать этот вектор, чтобы убрали все единицы, а на месте нулей стоял номер элемента в векторе этого нуля. То есть вот так:
Код: Выделить всё
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1
1 4 6 10 12 14
Код: Выделить всё
1 4 6 10 12 14
PS: Я только начинаю изучать SIMD, поэтому многого не знаю. и я не понимаю.
Подробнее здесь: https://stackoverflow.com/questions/720 ... imd-vector
Мобильная версия