4

GNU アセンブラで NEON Assembly を使用する構文をカバーするリソースはありますか? 構文が RVCT アセンブラを使用するものとは異なることを読みましたが、ドキュメントを見つけることができるのはそれだけです。始めるのに役立つリソースはありますか?

4

3 に答える 3

4

NEON 構文は、細かい点が 1 つある以外は同じです。アライメントされたロード/ストアは、ARM では @ を使用し、GAS では ,: を使用します。これは、@ が GAS のコメント記号であるためです。

腕:

 vld1.32         {d0-d3},   [r1@128]!
 vld1.32         {d16-d19}, [r1@128]

ガス:

 vld1.32         {d0-d3},   [r1,:128]!
 vld1.32         {d16-d19}, [r1,:128]
于 2011-06-21T10:32:12.313 に答える
2

http://www.shervinemami.info/armAssembly.htmlで、GCC 用の ARM + NEON アセンブリ コード (NEON 関数の実装例を含む) に関する情報をいくつか書きました。

于 2011-07-14T09:33:14.663 に答える
1

GAS を始めるときに自明ではないことの 1 つは、シンボルを定義する方法です。ARM アセンブラでの動作は、GAS では動作しません。

しかし、GAS では #define を使用して、レジスタのシンボルを作成できます。そのような...

#define MyLoopCounter r0

#define MyLoopInc #32

そのような...

add MyLoopCounter,MyLoopCounter,MyLoopInc

と同じです

add r0,r0,#32

それ以外の場合、他のほとんどすべてが同じであることがわかりました。もちろん、アライメントの違いはすでに回答されています。

于 2011-06-21T20:22:17.927 に答える