我有一个包含一些 int 值的数组([position%2=0] 处的值为负,[position%2=1] 处的值为正)。
我想以 4 步将这些值从数组加载到寄存器,但我希望它们反转(正转换为负,反之亦然)
__m128i v1;
for (int k = 0; k < limit; k += 4) {
v1 = _mm_load_si128((__m128i *) & myArray[position + k]);
}
上面的 SSE 代码将值按原样加载到寄存器中:是否有命令取 v1 并反转它?可以一步/命令完成吗?甚至可以直接从原始数组加载值吗?
任何帮助将不胜感激。提前致谢。