Существуют ли встроенные инструкции для выполнения операции правого и левого сдвига для (16-разрядных) целых элементов в AVX2?Целые числа сдвига AVX2 (16-разрядные)
Как следующими примерами:
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] --> [16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
и
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] --> [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
, где _mm_srli_si128(H,14)
и _mm_slli_si128(H,2)
хорошо работают на SSE3 16-битовых элементов. Я спрашиваю, потому что производительность (время работы) имеет решающее значение для меня.
Дубликаты: [8 бит сдвиг в AVX2 со сдвигом в нулях] (http://stackoverflow.com/questions/20775005/8-bit-shift-operation-in-avx2-with-shifting-in-zeros) и [Эмуляция сдвигов по 32 байтам с AVX] (http://stackoverflow.com/questions/25248766/emulating-shifts-on-32-bytes-with-avx) и –
Большое спасибо Mr. @PaulR – MROF