我想从一个寄存器变量
此问题类似于使用位操作提取位,但我希望使用SIMD指令来解决,因为这样会更快。
__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指令来解决,因为这样会更快。
VPSHUFBITQMB
是否会对此有所帮助。尽管我们要等到 Ice Lake 才能看到这个指令。 - Mysticial