GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
gcc/i386 Performance Win

Add AVX10/v2 FP8 to FP4 and vice-versa conversions.

Enables conversions between FP8 and FP4 floating-point formats using AVX10/v2 intrinsics.

New AVX10/v2 intrinsic functions have been added to GCC to facilitate conversions between FP8 and FP4 (4-bit floating-point) formats. This includes support for various vector sizes (128, 256, and 512 bits) and masked operations. The changes also introduce new built-in types and definitions, along with test cases to ensure the correct implementation of these low-precision floating-point conversions.

In Details

This commit extends GCC's AVX10/v2 intrinsic support with conversions between FP8 and FP4 formats. It introduces intrinsics for transforming between BF8/HF8 and FP4, supporting masked and unmasked operations across 128-bit, 256-bit, and 512-bit vectors. The necessary definitions are added to i386-builtin-types.def, i386-builtin.def, and sse.md, along with new test files in gcc.target/i386/. This enables the use of even lower precision floating-point arithmetic on compliant x86 hardware.

For Context
FP4
A 4-bit floating-point format, representing an extremely low-precision floating-point number. It offers maximum data density but significantly reduced range and precision, primarily useful for specific AI or deep learning workloads.
BF8
Brain Floating Point 8-bit format, a specific type of 8-bit floating-point representation designed to balance precision and range, often used in deep learning inference and training.
HF8
Half-precision Floating Point 8-bit format. A variant of the 8-bit floating-point standard, likely with different range/precision characteristics compared to BF8.
AVX10/v2
An extension to the AVX (Advanced Vector Extensions) instruction set for x86 processors, introducing new features and capabilities, including support for newer floating-point formats like FP8.
Intrinsics
Special functions or constructs provided by a compiler that allow programmers to access low-level hardware instructions directly, often for performance-critical operations like vector arithmetic.
Filed Under: x86AVXAIfloating-point