Limitations on hardware handling of floating-point arithmetic
ARM Vector Floating-Point (VFP) coprocessors are optimized to process well-defined floating-point code in hardware. Arithmetic operations that occur too rarely, or that are too complex, are not handled in hardware.
Instead, processing of these cases must be handled in software. This approach minimizes the amount of coprocessor hardware required and reduces costs.
Code provided to handle cases the VFP hardware is unable to process is known as VFP support code. When the VFP hardware is unable to deal with a situation directly, it bounces the case to VFP support code for more processing. For example, VFP support code might be called to process any of the following:
Floating-point operations involving NaNs.
Floating-point operations involving denormals.
When support code is in place, the VFP supports a fully IEEE 754-compliant floating-point model.