4.46 Compiler and library support for half-precision floating-point numbers

Half-precision is a floating-point format that occupies 16 bits.

Half-precision floating-point numbers are provided by:
  • The Vector Floating-Point (VFP) Version 4 architecture.
  • An optional extension to the VFPv3 architecture.
If a VFP coprocessor is not available, or if a VFPv3 coprocessor is used that does not have the extension, half-precision floating-point numbers are supported through the floating-point library fplib.
Half-precision floating-point numbers can only be used when selected with the --fp16_format=format compiler command-line option.
The C++ name mangling for the half-precision data type is specified in the C++ generic Application Binary Interface (ABI).
Related concepts
4.40 Compiler support for floating-point arithmetic
4.41 Default selection of hardware or software floating-point support
4.42 Example of hardware and software support differences for floating-point arithmetic
4.43 Vector Floating-Point (VFP) architectures
4.44 Limitations on hardware handling of floating-point arithmetic
4.45 Implementation of Vector Floating-Point (VFP) support code
4.47 Half-precision floating-point number format
4.48 Compiler support for floating-point computations and linkage
4.49 Types of floating-point linkage
4.50 Compiler options for floating-point linkage and computations
Related reference
4.51 Floating-point linkage and computational requirements of compiler options
4.52 Processors and their implicit Floating-Point Units (FPUs)
7.64 --fp16_format=format
Related information
Floating-point Support
C++ ABI for the ARM Architecture
Non-ConfidentialPDF file icon PDF versionARM DUI0375E
Copyright © 2007, 2008, 2011, 2012, 2014 ARM. All rights reserved.