VLDn、VSTn(1 レーンへの 1 つの n 要素構造体)

1 レーンへの 1 つの n 要素構造体のベクタロード。1 つの n 要素構造体をメモリから 1 つまたは複数の NEON レジスタにロードします。ロードされなかったレジスタの要素は変更されません。

1 レーンへの 1 つの n 要素構造体のベクタストア。1 つの n 要素構造体を 1 つまたは複数の NEON レジスタからメモリにストアします。

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 26 を参照して下さい。

list

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

Rn

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

align

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

!

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

Rm

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

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

ndatatypelist [a]align [b]境界調整
18{Dd[x]}-標準のみ
 16{Dd[x]}@162 バイト
 32{Dd[x]}@324 バイト
28{Dd[x], D(d+1)[x]}@162 バイト
 16{Dd[x], D(d+1)[x]}@324 バイト
  {Dd[x], D(d+2)[x]}@324 バイト
 32{Dd[x], D(d+1)[x]}@648 バイト
  {Dd[x], D(d+2)[x]}@648 バイト
38{Dd[x], D(d+1)[x], D(d+2)[x]}-標準のみ
 16 または 32{Dd[x], D(d+1)[x], D(d+2)[x]}-標準のみ
  {Dd[x], D(d+2)[x], D(d+4)[x]}-標準のみ
48{Dd[x], D(d+1)[x], D(d+2)[x], D(d+3)[x]}@324 バイト
 16{Dd[x], D(d+1)[x], D(d+2)[x], D(d+3)[x]}@648 バイト
  {Dd[x], D(d+2)[x], D(d+4)[x], D(d+6)[x]}@648 バイト
 32{Dd[x], D(d+1)[x], D(d+2)[x], D(d+3)[x]}@64 または @1288 バイトまたは 16 バイト
  {Dd[x], D(d+2)[x], D(d+4)[x], D(d+6)[x]}@64 または @1288 バイトまたは 16 バイト

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

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


Show/hide関連項目

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