5.52 Floating-point linkage and computational requirements of compiler options

There are various valid combinations of FPU options and processors.

The following table sets out the FPU options, and their capabilities and requirements.

Table 5-14 FPU-option capabilities and requirements

FPU name Hardware FP linkage d0-d15 registers d16-d31 registers VFP instructions Half precision Single precision Double precision
softvfp No No No No No No No
softvfp+vfpv2 No Yes No Yes No Yes Yes
softvfp+vfpv3 No Yes Yes Yes No Yes Yes
softvfp+vfpv3_fp16 No Yes Yes Yes Yes Yes Yes
softvfp+vfpv3_d16 No Yes No Yes No Yes Yes
softvfp+vfpv3_d16_fp16 No Yes No Yes Yes Yes Yes
softvfp+vfpv3_sp_d16 No Yes No Yes Yes Yes No
softvfp+vfpv4 No Yes Yes Yes Yes Yes Yes
softvfp+vfpv4_d16 No Yes No Yes Yes Yes Yes
softvfp+vfpv4_sp_d16 No Yes No Yes Yes Yes No
softvfp+fpv4-sp No Yes No Yes Yes Yes No
vfp Yes Yes No Yes No Yes Yes
vfpv2 Yes Yes No Yes No Yes Yes
vfpv3 Yes Yes Yes Yes No Yes Yes
vfpv3_fp16 Yes Yes Yes Yes Yes Yes Yes
vfpv3_d16 Yes Yes No Yes No Yes Yes
vfpv3_d16_fp16 Yes Yes No Yes Yes Yes Yes
vfpv3_sp_d16 Yes Yes No Yes Yes Yes No
vfpv4 Yes Yes Yes Yes Yes Yes Yes
vfpv4_d16 Yes Yes No Yes Yes Yes Yes
vfpv4_sp_d16 Yes Yes No Yes Yes Yes No
fpv4-sp Yes Yes No Yes Yes Yes No

Note

You can specify the floating-point linkage, independently of the VFP architecture, with --apcs.

Related concepts
5.41 Compiler support for floating-point arithmetic
5.42 Default selection of hardware or software floating-point support
5.43 Example of hardware and software support differences for floating-point arithmetic
5.44 Vector Floating-Point (VFP) architectures
5.45 Limitations on hardware handling of floating-point arithmetic
5.46 Implementation of Vector Floating-Point (VFP) support code
5.47 Compiler and library support for half-precision floating-point numbers
5.48 Half-precision floating-point number format
5.49 Compiler support for floating-point computations and linkage
5.50 Types of floating-point linkage
5.51 Compiler options for floating-point linkage and computations
Related reference
5.53 Processors and their implicit Floating-Point Units (FPUs)
8.6 --apcs=qualifier...qualifier
8.87 --fpu=name compiler option
Non-ConfidentialPDF file icon PDF versionARM DUI0472J
Copyright © 2010-2013 ARM. All rights reserved.