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.
Note
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.
This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.
ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.