|Non-Confidential||PDF version||ARM DUI0472J|
|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.
C source code and assembly language source code implementing top-level, second-level and user-level interrupt handlers.
These files can be found in the vfpsupport subdirectory of the Examples directory of your ARM compilation tools distribution at install_directory\Examples\...\vfpsupport.
These files might require modification to integrate VFP support with your operating system.
C source code and assembly language source code for accessing subarchitecture functionality of VFP coprocessors.
These files are located in the vfpsupport subdirectory of the Examples directory of your ARM compilation tools distribution at install_directory\Examples\...\vfpsupport.
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
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.