Arm Neoverse V1 Tuning Lands In GCC 11 Compiler
In addition to AMD Zen 3 "znver3" seeing a lot of last minute tuning/optimization work ahead of the GCC 11 compiler being released as stable in the weeks ahead, Arm has also been getting some last minute work into this open-source compiler as it pertains to the Neoverse V1 support.
The Neoverse V1 was announced last year as Arm's first V-series platform focused on delivering the maximum possible focus for use within infrastructure. Shortly after publicly announcing the Neoverse V1, Arm engineers began adding GNU toolchain support for the V1 (and Neoverse N2 as well) for the GCC 11 compiler. Now ahead of that stable release, more bits of the Neoverse V1 is landing - in particular, around the cost table for ensuring the compiler is making informed decisions over the instructions to select.
Merged on Friday was the Neoverse V1 cost table among some other last minute patches. Last week they also improved the generic SVE tuning defaults.
The cost table update is important since up to now the Neoverse-V1 target simply copied the cost table from the Cortex A57 but that lacks the all important Scalable Vector Extensions (SVE) cost data.
Long story short, the initial Neoverse V1 compiler support is getting all squared away for the imminent GCC 11 compiler release so developers can enjoy -march=neoverse-v1, still well ahead of any V1-based SoCs hitting the market. LLVM Clang 12 also has initial Neoverse V1 support too.