The VFP Register File
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
19-2
ID012310
Non-Confidential, Unrestricted Access
19.1
About the register file
The register file is organized in four banks of eight registers. Each 32-bit register can store either
a single-precision floating-point number or an integer.
Any consecutive pair of registers, [R
even+1
]:[R
even
], can store a double-precision floating-point
number. Because a load and store operation does not modify the data, the VFP11 registers can
also be used as secondary data storage by another application that does not use floating-point
values.
The register file can be configured as four circular buffers for use by short vector instructions in
applications requiring high data throughput, such as filtering and graphics transforms. For short
vector instructions, register addressing is circular within each bank. Because load and store
operations do not circulate, you can load or store multiple banks, up to the entire register file,
with a single instruction. Short vector operations obey certain rules specifying the conditions
when the registers in the argument list specify circular buffers or single-scalar registers. The
LEN and STRIDE fields in the FPSCR register specify the number of operations performed by
short vector instructions and the increment scheme within the circular register banks. Section
C5 of the
ARM Architecture Reference Manual
contains more information and examples.