Chapter 6. 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 6.1 for locations of descriptions of individual instructions.

Table 6.1. Location of descriptions of VFP instructions

MnemonicBrief descriptionPageOperationArchitecture
FABSAbsolute valueFABS, FCPY, and FNEGVectorAll
FCVTDSConvert single-precision to double-precisionFCVTDSScalarAll
FCVTSDConvert double-precision to single-precisionFCVTSDScalarAll
FLDLoad (see also FLD pseudo-instruction)FLD and FSTScalarAll
FLDMLoad multipleFLDM and FSTM-All
FMACMultiply-accumulateFMAC, FNMAC, FMSC, and FNMSCScalarAll
FMDHR, FMDLRTransfer from one ARM register to half of double-precisionFMDHR, FMDLR, FMRDH, and FMRDLScalarAll
FMDRRTransfer from two ARM registers to double-precisionFMDRR and FMRRDScalarVFPv2
FMRDH, FMRDLTransfer from half of double-precision to ARM registerFMDHR, FMDLR, FMRDH, and FMRDLScalarAll
FMRRDTransfer from double-precision to two ARM registersFMDRR and FMRRDScalarVFPv2
FMRRSTransfer between two ARM registers and two single-precisionFMRRS and FMSRRScalarVFPv2
FMRSTransfer from single-precision to ARM registerFMRS and FMSRScalarAll
FMRXTransfer from VFP system register to ARM registerFMRX, FMXR, and FMSTAT-All
FMSCMultiply-subtractFMAC, FNMAC, FMSC, and FNMSCVectorAll
FMSRTransfer from ARM register to single-precisionFMRS and FMSRScalarAll
FMSRRTransfer between two ARM registers and two single-precisionFMRRS and FMSRRScalarVFPv2
FMSTATTransfer VFP status flags to ARM CPSR status flagsFMRX, FMXR, and FMSTAT-All
FMULMultiplyFMUL and FNMULVectorAll
FMXRTransfer from ARM register to VFP system registerFMRX, FMXR, and FMSTAT-All
FNEGNegateFABS, FCPY, and FNEGVectorAll
FNMACNegate-multiply-accumulateFMAC, FNMAC, FMSC, and FNMSCVectorAll
FNMSCNegate-multiply-subtractFMAC, FNMAC, FMSC, and FNMSCVectorAll
FNMULNegate-multiplyFMUL and FNMULVectorAll
FSITOConvert signed integer to floating-pointFSITO and FUITOScalarAll
FSQRTSquare RootFSQRTVectorAll
FSTStoreFLD and FSTScalarAll
FSTMStore multipleFLDM and FSTM-All
FSUBSubtractFADD and FSUBVectorAll
FTOSI, FTOUIConvert floating-point to signed or unsigned integerFTOSI and FTOUIScalarAll
FUITOConvert unsigned integer to floating-pointFSITO and FUITOScalarAll
Copyright © 2003, 2004 ARM Limited. All rights reserved.ARM DUI 0231B