Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
4つのパックされたintがあるとしましょう。
__m128i val = _mm_set_epi32(42,64,123,456);
valの4つの整数の符号を反転(-1で乗算)する最も速い方法は何ですか?
[おそらく最も速い]のセットから実際の値を減算{0,0,0,0}し、{-1、-1、-1、-1}「すべてのもの」とXORしてから、{1,1,1,1}を加算することができます。 。または、-1を掛けることができます。
{0,0,0,0}
0から引くだけです。例:
val = _mm_sub_epi32(_mm_set1_epi32(0), val);