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 FPSCRFPSID, 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