VOOZH about

URL: https://www.phoronix.com/news/GCC-17-FMV-For-APX-AVX10.2

⇱ GCC 17 Merges Function Multi-Versioning For APX & AVX10.2 - Phoronix


👁 Phoronix

GCC 17 Merges Function Multi-Versioning For APX & AVX10.2

Written by Michael Larabel in GNU on 13 June 2026 at 06:20 AM EDT. 2 Comments
Earlier this month I wrote about Intel working on function multi-versioning support for APX and AVX10.2 with the GCC compiler. This allows developers to write optimized code paths specifically targeting Advanced Performance Extensions (APX) or Advanced Vector Extensions 10.2 capabilities of future processors while being able to otherwise fall-back to generic or other optimized code paths for other ISA target features. This work is now merged for GCC 17.

GCC's Function Multi-Versioning (FMV) for being able to craft multiple versions of the same function and then select at run-time the best fit based on the CPU, can now cater to APX and AVX10.2 as being first introduced with Nova Lake and Diamond Rapids processors. This complements existing architecture features like AVX-512, SSE4, etc.

The new GCC FMV attribute targets are "avx10.2","apxf","arch=diamondrapids", and "arch=novalake" if wanting to target either APX or AVX10.2 individually or targeting Diamond Rapids or Nova Lake as a whole.

👁 FMV of new features


This commit is what landed the new FMV support for what will be part of next year's GCC 17.1 stable compiler release.

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.