假设我有四个打包的内容。
__m128i val = _mm_set_epi32(42,64,123,456);
翻转val中四个整数的符号(乘以-1)的最快方法是什么?
答案 0 :(得分:6)
你可以从一组{0,0,0,0}
[可能是最快的]中减去你的实际值,你可以用{-1,-1,-1,-1}“全部”进行异或,然后加{ 1,1,1,1}。或者你可以乘以-1。
答案 1 :(得分:3)
从0减去,例如
val = _mm_sub_epi32(_mm_set1_epi32(0), val);