c – __m256i向量的随机元素
发布时间:2020-12-16 03:32:04 所属栏目:百科 来源:网络整理
导读:我想要改组__m256i向量的元素. 并且有一个内在的_mm256_shuffle_epi8,它可以做类似的事情,但它不会执行交叉通道随机播放. 如何使用AVX2指令进行操作? 解决方法 有一种方法来模拟这个操作,但它不是很漂亮: const __m256i K0 = _mm256_setr_epi8( 0x70,0x70,
我想要改组__m256i向量的元素.
并且有一个内在的_mm256_shuffle_epi8,它可以做类似的事情,但它不会执行交叉通道随机播放. 如何使用AVX2指令进行操作? 解决方法
有一种方法来模拟这个操作,但它不是很漂亮:
const __m256i K0 = _mm256_setr_epi8( 0x70,0x70,0xF0,0xF0); const __m256i K1 = _mm256_setr_epi8( 0xF0,0x70); inline const __m256i Shuffle(const __m256i & value,const __m256i & shuffle) { return _mm256_or_si256(_mm256_shuffle_epi8(value,_mm256_add_epi8(shuffle,K0)),_mm256_shuffle_epi8(_mm256_permute4x64_epi64(value,0x4E),K1))); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |