x86-64のSSE命令(ベクトル命令)は、通常の命令よりもどこで優れていますか。私が見ているのは、SSE命令を実行するために必要な頻繁なロードとストアが、ベクトル計算によるゲインを無効にしているためです。それで、誰かが私に通常のコードよりもパフォーマンスが良いSSEコードの例を教えてもらえますか?
このように、各パラメータを個別に渡しているためかもしれません...
__m128i a = _mm_set_epi32(pa[0], pa[1], pa[2], pa[3]);
__m128i b = _mm_set_epi32(pb[0], pb[1], pb[2], pb[3]);
__m128i res = _mm_add_epi32(a, b);
for( i = 0; i < 4; i++ )
po[i] = res.m128i_i32[i];
4つの整数すべてを一度に渡す方法はありませんか?つまり、128バイト全体を一度に渡すというpa
ことですか?そして、一度に割り当てres.m128i_i32
ますpo
か?