1

予備的なメモ:実際、質問を書き終えているときに、この回答が私のケースに対処しているのを見ました。それにもかかわらず、必要なドキュメントへのすべてのリンクを作成するのにすでに時間を費やしているので、とにかくそれを投稿することは役に立つかもしれません. さらに、もっと良い答えがあるかもしれません。

質問は次のとおりです。

処理の最後に、次のものが__mm128i含まれます。

r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 rA rB rC rD rE rF

uint32_t次のようにメモリに保存する必要があります。

r0 r4 r8 rC

または、代わりに(前の計算の最後の2つのステップをどのように実行するかによって異なります)

r3 r7 rB rF

SSSE3 命令までを使用して効率的に行うにはどうすればよいですか?

4

1 に答える 1

3

hereで説明されているように、SSSE3 までの命令を使用_mm_shuffle_epi8して、レジスタを次のように再配置することができます。

r0 r4 r8 rC 00 00 00 00 00 00 00 00 00 00 00 00 

_mm_extract_epi32では、 SSE4.1なので使えません。

代わりに使用できます_mm_cvtsi128_si32

于 2013-11-08T15:46:19.440 に答える