| |||
| Home > Vector Floating-point Programming | |||
This chapter provides reference information about programming the Vector Floating-point coprocessor in assembly language. It contains the following sections:
See Table 5.1 for locations of descriptions of individual instructions.
Vector floating-point hardware is not supported.
Table 5.1. Location of descriptions of VFP instructions
| Mnemonic | Brief description | Page | Operation | Architecture |
|---|---|---|---|---|
FABS | Absolute value | FABS, FCPY, and FNEG | Vector | All |
FADD | Add | FADD and FSUB | Vector | All |
FCMP | Compare | FCMP | Scalar | All |
FCPY | Copy | FABS, FCPY, and FNEG | Vector | All |
FCVTDS | Convert single-precision to double-precision | FCVTDS | Scalar | All |
FCVTSD | Convert double-precision to single-precision | FCVTSD | Scalar | All |
FDIV | Divide | FDIV | Vector | All |
FLD | Load | FLD and FST | Scalar | All |
FLDM | Load multiple | FLDM and FSTM | - | All |
FMAC | Multiply-accumulate | FMAC, FNMAC, FMSC, and FNMSC | Scalar | All |
FMDHR, FMDLR | Transfer from one ARM® register to half of double-precision | FMDHR, FMDLR, FMRDH, and FMRDL | Scalar | All |
FMDRR | Transfer from two ARM registers to double-precision | FMDRR and FMRRD | Scalar | VFPv2 |
FMRDH, FMRDL | Transfer from half of double-precision to ARM register | FMDHR, FMDLR, FMRDH, and FMRDL | Scalar | All |
FMRRD | Transfer from double-precision to two ARM registers | FMDRR and FMRRD | Scalar | VFPv2 |
FMRRS | Transfer between two ARM registers and two single-precision | FMRRS and FMSRR | Scalar | VFPv2 |
FMRS | Transfer from single-precision to ARM register | FMRS and FMSR | Scalar | All |
FMRX | Transfer from VFP system register to ARM register | FMRX, FMXR, and FMSTAT | - | All |
FMSC | Multiply-subtract | FMAC, FNMAC, FMSC, and FNMSC | Vector | All |
FMSR | Transfer from ARM register to single-precision | FMRS and FMSR | Scalar | All |
FMSRR | Transfer between two ARM registers and two single-precision | FMRRS and FMSRR | Scalar | VFPv2 |
FMSTAT | Transfer VFP status flags to ARM CPSR status flags | FMRX, FMXR, and FMSTAT | - | All |
FMUL | Multiply | FMUL and FNMUL | Vector | All |
FMXR | Transfer from ARM register to VFP system register | FMRX, FMXR, and FMSTAT | - | All |
FNEG | Negate | FABS, FCPY, and FNEG | Vector | All |
FNMAC | Negate-multiply-accumulate | FMAC, FNMAC, FMSC, and FNMSC | Vector | All |
FNMSC | Negate-multiply-subtract | FMAC, FNMAC, FMSC, and FNMSC | Vector | All |
FNMUL | Negate-multiply | FMUL and FNMUL | Vector | All |
FSITO | Convert signed integer to floating-point | FSITO and FUITO | Scalar | All |
FSQRT | Square Root | FSQRT | Vector | All |
FST | Store | FLD and FST | Scalar | All |
FSTM | Store multiple | FLDM and FSTM | - | All |
FSUB | Subtract | FADD and FSUB | Vector | All |
FTOSI, FTOUI | Convert floating-point to signed or unsigned integer | FTOSI and FTOUI | Scalar | All |
FUITO | Convert unsigned integer to floating-point | FSITO and FUITO | Scalar | All |