VFP instructions

Table 17 shows a summary of VFP instructions that are not available in NEON.

Table 17. Location of VFP instructions

MnemonicBrief descriptionSeeOp.Arch.
VABSAbsolute valueVABS, VNEG, and VSQRTVectorAll
VADDAddVADD, VSUB, and VDIVVectorAll
VCMPCompareVCMPScalarAll
VCVTConvert between single-precision and double-precisionVCVT (between single-precision and double-precision)ScalarAll
 Convert between floating-point and integerVCVT (between floating-point and integer)ScalarAll
 Convert between floating-point and fixed-pointVCVT (between floating-point and fixed-point)ScalarVFPv3
VCVTB, VCVTTConvert between half-precision and single-precision floating-pointVCVTB, VCVTT (half-precision extension)ScalarHalf- precision
VDIVDivideVADD, VSUB, and VDIVVectorAll
VFMA, VFMSFused multiply accumulate, Fused multiply subtractVFMA, VFMS, VFNMA, VFNMSScalarVFPv4
VFNMA, VFNMSFused multiply accumulate with negation, Fused multiply subtract with negationVFMA, VFMS, VFNMA, VFNMSScalarVFPv4
VMLAMultiply accumulateVMUL, VMLA, VMLS, VNMUL, VNMLA, and VNMLSVectorAll
VMLSMultiply subtractVMUL, VMLA, VMLS, VNMUL, VNMLA, and VNMLSVectorAll
VMOVInsert floating-point immediate in single-precision or double-precision register (see also Table 16)VMOVScalarVFPv3
VMULMultiplyVMUL, VMLA, VMLS, VNMUL, VNMLA, and VNMLSVectorAll
VNEGNegateVABS, VNEG, and VSQRTVectorAll
VNMLANegated multiply accumulateVMUL, VMLA, VMLS, VNMUL, VNMLA, and VNMLSVectorAll
VNMLSNegated multiply subtractVMUL, VMLA, VMLS, VNMUL, VNMLA, and VNMLSVectorAll
VNMULNegated multiplyVMUL, VMLA, VMLS, VNMUL, VNMLA, and VNMLSVectorAll
VSQRTSquare RootVABS, VNEG, and VSQRTVectorAll
VSUBSubtractVADD, VSUB, and VDIVVectorAll

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489C
Non-ConfidentialID080411