Какую SIMD-инструкцию можно использовать для создания маски, которая становится 0 после первого 0? - PullRequest
1 голос
/ 25 апреля 2020

Допустим, у меня есть 16 8-битных целых, и я хочу сравнить их (8 в этом примере)

    01234567
 == 01234987
 -----------
    11111001

То, что я хотел бы, когда есть 0, остальные значения становятся 0 (ie 11111000 )

Я точно не определился, что я хочу сделать, но я, вероятно, сделаю что-то вроде _mm_hadd_epi32, чтобы выяснить, сколько байтов нужно скопировать (в массив, а не в другой вектор)

...