| |||
| Home > Compiler Coding Practices > Implementation of Vector Floating-Point (VFP) support code | |||
For convenience, an implementation of VFP support code that
can be used in your system is provided with your installation of
the ARM compilation tools. The support code comprises the libraries vfpsupport.l and vfpsupport.b for
emulating VFP operations bounced by the hardware. These files are
located in the \lib\armlib subdirectory of
your installation.
When the VFP coprocessor bounces an instruction, an Undefined
Instruction exception is signaled to the processor and the VFP support
code is entered through the Undefined Instruction vector. The top-level
and second-level interrupt handlers perform some initial processing
of the signal, for example, ensuring that the exception is not caused
by an illegal instruction. The user-level interrupt handler then
calls the appropriate library function in the library vfpsupport.l or vfpsupport.b to
emulate the VFP operation in software.
You do not have to use VFP support code:
when building with --fpmode=std
when no trapping of uncommon or exceptional cases is required
when the VFP coprocessor is operating in RunFast mode
when the hardware coprocessor is a VFPv3-based system.
Compiler Reference: