Arm Neoverse Demeter & N2 Tuning Merged Into GCC 12, Experimental NVPTX Option
The last minute GCC 12 patches to point out are some Armv9 and Arm Neoverse tweaks. There is also a new experimental option that the NVIDIA NVPTX path will use in the future.
- Enabling FP16 by default for Armv9. The FP16 feature bit was mistakenly left out until now for Armv9. With Armv9 requiring SVE and SVE requiring FP16, it's safe to assume with Armv9 that FP16 is always supported.
- Arm Neoverse-Demeter tuning has landed. There hasn't been much talked about with Neoverse "Demeter" publicly unlike others in the Neoverse family.
- Neoverse-N2 tuning was added as well and originally sent out at the same time as the Neoverse-Demeter tuning.
- -mexperimental option for the NVIDIA NVPTX code. The plan moving ahead is to allow developing some new features in trunk rather than first baking all the features externally in different trees and then merging it. This will allow developers to test some GCC NVPTX NVIDIA targeting features earlier on in being worked on through trunk. For GCC 12 though this mexperimental support for NVPTX has no effect.
Notably absent with the GCC 12 code still to this point is no sign of AMD Zen 4 (znver4) tuning making it in time for the GCC 12.1 stable release expected around the end of April. It looks like AMD will be holding off closer to the Zen 4 introduction later this year before introducing Zen 4 compiler patches which sadly doesn't align nicely with the open-source compiler release cadence.