Add AVX10/v2 FP8 to FP32 and vice-versa conversions.
Enables conversions between FP8 and FP32 floating-point formats using AVX10/v2 intrinsics.
This commit introduces a comprehensive set of AVX10/v2 intrinsic functions for converting between FP8 (8-bit floating-point) and FP32 (single-precision floating-point) formats. It adds support for various vector sizes (128, 256, and 512 bits) and includes masked operations. New intrinsic definitions, types, and test cases are provided to ensure the correct implementation of these conversions for AI and high-performance computing workloads.
In Details
This patch adds AVX10/v2 intrinsics to GCC for converting between FP8 (BF8/HF8) and FP32 (single-precision float) formats. It implements conversions for 128-bit, 256-bit, and 512-bit vectors, including masked variants. The additions cover both FP8 to FP32 and FP32 to FP8 conversions. New definitions are integrated into avx10v2auxintrin.h, i386-builtin-types.def, i386-builtin.def, and sse.md, along with new test files in gcc.target/i386/ to validate the functionality on supporting x86 architectures.
- FP8
- An 8-bit floating-point format, increasingly used in machine learning and AI accelerators for its reduced memory footprint and computational cost compared to FP16 or FP32.
- FP32
- Single-precision floating-point format, a standard 32-bit representation for floating-point numbers defined by IEEE 754, commonly used in general-purpose computing.
- 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.
- 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.