gcc 4.4.3 で SSE2 を使用しています。私のプログラムでは、128 ビット SIMD レジスタの少なくとも (0 ~ 7) 8 ビットを使用する必要があります。8 ビットをすばやく取得できる方法を提案してください。
_mm_movepi64_pi64
またはを試してみましたが_mm_extract_epi16
、どちらも私のプログラムで同様のパフォーマンスを発揮します。ユニオンアプローチも試していました。union{__m128i a1, int a2[4]}
. テストケースでは良い結果が得られましたが、私のプログラムでは、このアプローチはあまり良くありませんでした。
任意のアイデア.. (上記の 3 つの方法のどれを使用する必要がありますか?)