VLDn、VSTn(複数の n 要素構造体)

複数の n 要素構造体のベクタロード。複数の n 要素構造体をメモリから 1 つまたは複数の NEON レジスタにロードし、インターリーブを解除します(n == 1 の場合を除きます)。各レジスタのすべての要素がロードされます。

複数の n 要素構造体のベクタストア。複数の n 要素構造体を 1 つまたは複数の NEON レジスタからメモリにストアし、インターリーブします(n == 1 の場合を除きます)。各レジスタのすべての要素がストアされます。

Show/hide構文

Vopn{cond}.datatype list, [Rn{@align}]{!}
Vopn{cond}.datatype list, [Rn{@align}], Rm

各パラメータには以下の意味があります。

op

LD または ST を指定します。

n

1、2、3、または 4 のいずれかにします。

cond

任意の条件コードを指定します。

datatype

オプションについては、Table 28 を参照して下さい。

list

NEON レジスタリストを指定します。オプションについては、Table 28 を参照して下さい。

Rn

ベースアドレスを保持する ARM レジスタです。Rn を PC にすることはできません。

align

オプションの境界調整を指定します。オプションについては、Table 28 を参照して下さい。

!

! が指定されている場合、Rn は (Rn + 命令によって転送されるバイト数) に更新されます。更新は、すべてのロードまたはストアが実行された後に行われます。

Rm

ベースアドレスからのオフセットを保持する ARM レジスタです。Rm が指定されている場合、メモリにアクセスするためにアドレスが使用されたで、Rn は (Rn + Rm) に更新されます。SP と PC は Rm に使用できません。

Table 28. パラメータの有効な組み合わせ

ndatatypelist [a]align [b]境界調整
181632、または 64{Dd}@648 バイト
  {Dd, D(d+1)}@64 または @1288 バイトまたは 16 バイト
  {Dd, D(d+1), D(d+2)}@648 バイト
  {Dd, D(d+1), D(d+2), D(d+3)}@64@128、または @2568 バイト、16 バイト、または 32 バイト
2816、または 32{Dd, D(d+1)}@64, @1288 バイトまたは 16 バイト
  {Dd, D(d+2)}@64, @1288 バイトまたは 16 バイト
  {Dd, D(d+1), D(d+2), D(d+3)}@64@128、または @2568 バイト、16 バイト、または 32 バイト
3816、または 32{Dd, D(d+1), D(d+2)}@648 バイト
  {Dd, D(d+2), D(d+4)}@648 バイト
4816、または 32{Dd, D(d+1), D(d+2), D(d+3)}@64@128、または @2568 バイト、16 バイト、または 32 バイト
  {Dd, D(d+2), D(d+4), D(d+6)}@64@128、または @2568 バイト、16 バイト、または 32 バイト

[a] 表内のすべてのレジスタは D0D31 の範囲内にある必要があります。

[b] align は省略できます。省略した場合は、標準の境界調整ルールが適用されます。ロードとストア命令、要素と構造体の命令における境界調整の制約を参照して下さい。


Show/hide関連項目

参照:
Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489EJ
Non-ConfidentialID081711