r1、r3およびr4タイプがNEONuint32x4_tレジスタにロードされているので、次のコードがあります。
r3 = veorq_u32(r0,r3);
r4 = r1;
r1 = vandq_u32(r1,r3);
r4 = veorq_u32(r4,r2);
r1 = veorq_u32(r1,r0);
そして、GCCが実際に命令に変換r4 = r1されるかどうか疑問に思っていました。vmov分解されたコードを見て、私はそれがそうではなかったことに驚かなかった。(さらに、生成されたアセンブリコードが実際に何をするのか理解できません)
ARMのNEON組み込み関数のリファレンスをざっと見てみると、単純なベクトル->ベクトル代入の組み込み関数が見つかりませんでした。
これを達成するための最も簡単な方法は何ですか?r1どのレジスタがでr4割り当てられているかわからないため、インライン化されたアセンブリコードがどのように表示されるかわかりませんvld1q_u32。実際のスワップは必要ありません。割り当てだけです。