armfpu

armfpu [ vfpv2 | softvfp ]

Use the armfpu statement to specify how the compiler is to deal with floating point instructions.

There are two ways in which floating point instructions can be handled on an ARM processor:

  • through the use of floating point support functions.

  • directly on a hardware floating point co-processor, the Vector Floating Point (VFP) unit.

softvfp

This keyword specifies that floating point instructions are handled by floating point support functions.

On a device without a VFP unit, floating point support functions are implemented in software and operate slowly. On a device with a VFP unit, the floating point support functions are handled by the VFP unit, and operate faster than when implemented in software.

Note that applications do not need to make any changes to take advantage of VFP-enabled floating point support functions, if they are provided in the device's ROM. Such functions are used automatically at run time.

If armfpu is not specified in a .mmp file, then armfpu softvfp is assumed by default.

vfpv2

This keyword specifies that VFP specific code is to be generated at compile time whenever floating point instructions are used.

On a device with a VFP unit, this option results in code that runs faster than the floating point support functions generated by softvfp. Note, however, that binaries produced with VFP specific code do not work on devices without a VFP unit. Software Install attempts to prevent their installation, but if any such binaries are installed onto a device in some other way, for example by inclusion into the ROM at device creation time, then a call to VFP specific code results in a KERN-EXEC 3 panic (see also Application Installation Guide).