使用SIMD提取位

5
我想从一个寄存器变量__mm256i src中提取8位,这8位由另一个由8个整数组成的__mm256i offset指定的8个位置确定。例如:如果offset[1,3,5,21,100,200,201,202],我想从src中获取第1、3、5、100、200、201和202位,并将它们打包成一个int8
此问题类似于使用位操作提取位,但我希望使用SIMD指令来解决,因为这样会更快。
1个回答

4

我想知道 VPSHUFBITQMB 是否会对此有所帮助。尽管我们要等到 Ice Lake 才能看到这个指令。 - Mysticial

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接