5.12.5. VLDn 및 VSTn (여러 n-요소 구조체)

여러 n-요소 구조체를 벡터 로드. n == 1이 아닌 경우 디인터리브를 사용하여 여러 n-요소 구조체를 메모리에서 하나 이상의 NEON 레지스터로 로드합니다. 이때 각 레지스터의 모든 요소가 로드됩니다.

여러 n-요소 구조체를 벡터 저장. n == 1이 아닌 경우 인터리브를 사용하여 여러 n-요소 구조체를 하나 이상의 NEON 레지스터에서 메모리에 저장합니다. 이때 각 레지스터의 모든 요소가 저장됩니다.

구문

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

인수 설명:

op

LD 또는 ST 중 하나여야 합니다.

n

1, 2, 3 또는 4 중 하나여야 합니다.

cond

선택적 조건 코드입니다 (조건 코드 참조).

datatype

옵션을 보려면 Table 5.14를 참조하십시오.

list

NEON 레지스터 목록을 지정합니다. 옵션을 보려면 Table 5.14를 참조하십시오.

Rn

기본 주소가 들어 있는 ARM 레지스터입니다. Rn은 r15이면 안 됩니다.

align

선택적 정렬을 지정합니다. 옵션을 보려면 Table 5.14를 참조하십시오.

!

! 기호가 있으면 Rn이 (Rn + 명령어로 전송된 바이트 수) 로 업데이트됩니다. 업데이트는 로드 또는 저장이 모두 수행된 후에 수행됩니다.

Rm

기본 주소의 오프셋이 들어 있는 ARM 레지스터입니다. Rm이 있으면 메모리 액세스에 주소가 사용된 Rn이 (Rn + Rm) 으로 업데이트됩니다. Rm은 r13 또는 r15일 수 없습니다.

Table 5.14. 허용된 매개변수 조합

ndatatypelist [1]align [2]정렬
18, 16, 32 또는 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바이트
28, 16 또는 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바이트
38, 16 또는 32{Dd, D (d+1), D (d+2) }@648바이트
  {Dd, D (d+2), D (d+4) }@648바이트
48, 16 또는 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바이트

[1] list의 모든 레지스터는 D0 ~ D31 범위에 있어야 합니다.

[2] Align 은 생략할 수 있습니다. 이 경우 표준 정렬 규칙이 적용됩니다. 자세한 내용은 요소 및 구조체 로드와 저장 명령어의 정렬에 대한 제한을 참조하십시오.


Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IK
Non-Confidential