首页 > 解决方案 > _mm256_permutexvar_epi8 和 _mm256_permutexvar_epi16 AVX2 等价物用于编译时间常数洗牌吗?

问题描述

我正在寻找一种使用 AVX2 指令置换寄存器中的 1 字节和/或 2 字节值的方法。__m256i该解决方案需要能够跨 128 位通道移动值

我知道我可以使用 AVX512 _mm256_permutexvar_epi8_mm256_permutexvar_epi16但我似乎无法找到任何使用 AVX2 的通用解决方案,用于当值需要跨越车道时(如果值可以保持在车道内_mm256_shuffle_epi8_mm256_shuflehi_epi16(_mm256_shufflelo_epi16)工作)。

排列索引将在编译时已知。

标签: c++simdavx2avx512

解决方案


推荐阅读