
Merged a few days ago to GCC Git was the new target options for the Arm 2024 Architecture Extension and Armv9.6-A:
"aarch64: Add new target options for 2024 Architecture Extension and Armv9.6-A
This does not add support for these version (and the corresponding __ARM_FEATURE_macros aren't implemented for this reason) but accepts the command line strings and allows these to be passed on to the assembler.
Armv9.6-A is supported by the new "armv9.6-a" option and defined as "armv9.5-a+cmpbr+lsui+occmo"
The new extensions are:
- fprcvt (FEAT_FPRCVT)
- lsfe (FEAT_LSFE)
- f8f32mm (FEAT_F8F32MM)
- f8f16mm (FEAT_F8F16MM)
- sme2p2 (FEAT_SME2p2)
- sve2p2 (FEAT_SVE2p2)
- sve-aes2 (FEAT_SVE_AES2)
- sve-f16f32mm (FEAT_SVE_F16F32MM)
- sve-bfscale (FEAT_SVE_BFSCALE)
- ssve-aes (FEAT_SSVE_AES)
- lsui (FEAT_LSUI)
- occmo (FEAT_OCCMO)
- pcdphint (FEAT_PCDPHINT)
- pops (FEAT_PoPS)
- ssve-bitperm (FEAT_SSVE_BitPerm)
- ssve-fexpa (FEAT_SSVE_FEXPA)
- sme-mop4 (FEAT_SME_MOP4)
- sme-tmop (FEAT_TMOP)"
With the newest SoCs still based on Armv9.2-A like the Cortex A520 / A720, Neoverse-V3, and also the Apple M4 and A18, among others, it will likely be some time as usual before seeing Armv9.6-A appear in any available core / SoC designs. The recently announced Arm C1 is based on Armv9.3-A . As mentioned with this GNU Compiler Collection support is just the initial target addition with the new extension work still to come.
All the technical details on the Armv9-6-A extensions can be found via the Arm developer blog .