拡張レジスタバンクのマッピング

NEON と VFP では同じ拡張レジスタバンクを使用します。この点が、ARM レジスタバンクとは対照的です。拡張レジスタバンクは、命令が NEON か VFP かに応じて、32 ビット、64 ビット、または 128 ビットのレジスタとしてアクセスできるレジスタの集合です。

Figure 2には、拡張レジスタバンクの 3 つのビューと、それらが異なるサイズのレジスタ間で重複している様子を示しています。例えば、128 ビットレジスタ Q0 は 2 本の連続する 64 ビットレジスタ D0 および D1 のエイリアスであり、4 本の連続する 32 ビットレジスタ S0S1S2、および S3 のエイリアスでもあります。128 ビットレジスタ Q8 は 2 本の連続する 64 ビットレジスタ D16 および D17 のエイリアスですが、32 ビットの "Sn" レジスタを使用したエイリアスは存在しません。

Note

使用するプロセッサに NEON と VFP の両方がある場合、すべての NEON レジスタは VFP レジスタと重複します。

エイリアスされたビューを使用すると、半精度、単精度、倍精度の値、および NEON ベクタを重複していない別々のレジスタに同時に共存させることができます。

また、別々のタイミングであれば、重複している同じレジスタを使用して、半精度、単精度、倍精度の値、および NEON ベクタをストアすることもできます。

重複している 32 ビットレジスタと 64 ビットレジスタ、または 128 ビットレジスタを同時に使用しないで下さい。有意な結果が得られなくなります。

Figure 2. 拡張レジスタバンク

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


レジスタ間のマッピングは以下のとおりです。

例えば、Q6 のベクタの要素の最下位ハーフにアクセスするには D12 を参照し、要素の最上位ハーフにアクセスするには D13 を参照します。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473FJ
Non-ConfidentialID111311