1

4つのパックされたintがあるとしましょう。

__m128i val = _mm_set_epi32(42,64,123,456);

valの4つの整数の符号を反転(-1で乗算)する最も速い方法は何ですか?

4

2 に答える 2

6

[おそらく最も速い]のセットから実際の値を減算{0,0,0,0}し、{-1、-1、-1、-1}「すべてのもの」とXORしてから、{1,1,1,1}を加算することができます。 。または、-1を掛けることができます。

于 2013-01-29T15:59:47.060 に答える
3

0から引くだけです。例:

val = _mm_sub_epi32(_mm_set1_epi32(0), val);
于 2013-01-29T16:57:50.937 に答える