You copied the Doc URL to your clipboard.

About floating-point support

The Arm® floating-point environment is an implementation of the IEEE 754-1985 standard for binary floating-point arithmetic.


In Armv8, floating-point hardware is integral to the architecture. Software floating-point is supported for AArch32 state, but is not supported for AArch64 state.

An Arm system might have:

  • A VFP coprocessor.
  • No floating-point hardware.

If you compile for a system with a hardware VFP coprocessor, the Arm Compiler makes use of it. If you compile for a system without a coprocessor, the compiler implements the computations in software. For example, the compiler option -mfloat-abi=hard selects a hardware VFP coprocessor and the option -mfloat-abi=soft specifies that arithmetic operations are to be performed in software, without the use of any coprocessor instructions.


In Arm Compiler 6, there is no command-line option to exclude both hardware and software floating-point computations. If the compiler encounters floating-point types in the source code, it will use software-based floating-point library functions.