VOOZH about

URL: https://www.phoronix.com/news/GCC-16-Stable-ARM64-FMV

⇱ GCC 16 Will No Longer Treat Function Multi-Versioning As Experimental On ARM64 - Phoronix


👁 Phoronix

GCC 16 Will No Longer Treat Function Multi-Versioning As Experimental On ARM64

Written by Michael Larabel in GNU on 24 September 2025 at 06:40 AM EDT. 2 Comments
Function Multi-Versioning (FMV) is the compiler feature that allows developers to specify multiple versions of the same function that can be used for optimizing execution for specific target features. For example, FMV can allow optimized functions to be called if the CPU supports AVX, AVX-512, SSE4.2, or other differing ISA capabilities. With the GCC 16 compiler release, AArch64/ARM64 now considers its FMV support to be stable and complete.

With this commit yesterday to the GCC Git codebase ahead of next year's GCC 16.1 compiler release, Function Multi-Versioning is now treated as stable on 64-bit ARM hardware.

Up to now using FMV on AArch64 would emit a warning:
"Function Multi Versioning support is experimental, and the behavior is likely to change"

But now the FMV support on AArch64 is considered spec compliant and good enough for treating as stable. Arm engineers had been working on GCC FMV support the past 3+ years.

Arm's FMV support allows calling different functions if the processor supports Scalable Vector Extension (SVE), Scalable Matrix Extension (SME), the dot product extension, and a wide variety of other Arm ISA features. The Arm FMV specification is documented via this repository.

👁 GCC FMV code snippet


Those wanting to learn more about GCC's FMV support can do so via the GCC Wiki.

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.