VLDR and VSTR

Extension register load and store.

Show/hideSyntax

VLDR{cond}{.size} Fd, [Rn{, #offset}]
VSTR{cond}{.size} Fd, [Rn{, #offset}]
VLDR{cond}{.size} Fd, label
VSTR{cond}{.size} Fd, label

where:

cond

is an optional condition code.

size

is an optional data size specifier. Must be 32 if Fd is an S register, or 64 otherwise.

Fd

is the extension register to be loaded or saved. For a NEON instruction, it must be a D register. For a VFP instruction, it can be either a D or S register.

Rn

is the ARM register holding the base address for the transfer.

offset

is an optional numeric expression. It must evaluate to a numeric value at assembly time. The value must be a multiple of 4, and lie in the range -1020 to +1020. The value is added to the base address to form the address used for the transfer.

label

is a PC-relative expression.

label must be aligned on a word boundary within ±1KB of the current instruction.

Show/hideUsage

The VLDR instruction loads an extension register from memory. The VSTR instruction saves the contents of an extension register to memory.

One word is transferred if Fd is an S register (VFP only). Two words are transferred otherwise.

There is also an VLDR pseudo-instruction.

Show/hideSee also

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0489G
Non-ConfidentialID021412