GCC 16 Lands Armv9.6-A Target Support
([GNU] 6 Hours Ago
Armv9.6-A)
- Reference: 0001601302
- News link: https://www.phoronix.com/news/GCC-16-Armv9.6-A
- Source link:
Merged ahead of the upcoming GCC 16.1 stable release of the [1]GCC 16 compiler is initial support for the Armv9.6-A target.
[2]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 [3]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 [4]Arm developer blog .
[1] https://www.phoronix.com/search/GCC+16
[2] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=cf0a68d0a3d541b3e74acc29f949fe9d9032a2f9
[3] https://www.phoronix.com/news/Arm-Lumex-Platform-C1
[4] https://developer.arm.com/community/arm-comm
[2]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 [3]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 [4]Arm developer blog .
[1] https://www.phoronix.com/search/GCC+16
[2] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=cf0a68d0a3d541b3e74acc29f949fe9d9032a2f9
[3] https://www.phoronix.com/news/Arm-Lumex-Platform-C1
[4] https://developer.arm.com/community/arm-comm