ARM VMRS and VMSR intsructions
Transfer contents between an ARM register and a NEON and VFP system register.
Syntax
VMRS{cond} Rd, extsysreg
VMSR{cond} extsysreg, Rd
where:
-
cond
-
is an optional condition code (see Condition codes).
-
extsysreg
-
is the NEON and VFP system register, usually FPSCR, FPSID, or FPEXC (see NEON and VFP system registers).
-
Rd
-
is the ARM register. Rd must not be r15.
It can be APSR_nzcv, if extsysreg is FPSCR. In this case, the floating-point status flags are transferred into the corresponding flags in the ARM APSR.
Usage
The VMRS instruction transfers the contents of extsysreg into Rd.
The VMSR instruction transfers the contents of Rd into extsysreg.
Note
These instructions stall the ARM until all current NEON or VFP operations complete.
Examples
VMRS r2,FPCID VMRS APSR_nzcv, FPSCR ; transfer FP status register to ARM APSR VMSR FPSCR, r4