AMD announced the addition of official support for Ryzen 5000 processors on the Zen 3 architecture to the GCC compiler. As usual, this happened with some delay. Preparing software for developers about six months before the chips are released to the market is considered a good tone. For example, Intel added support for Alder Lake and Sapphire Rapids to GCC back in July. This ensures that by the time they start selling, the compilers will support new «iron»... Phoronix reports that GCC has released the first patch, which adds support for Zen 3 with the new option -march=znver3. However, there are no other changes yet, and all specialized optimizations, such as the Scheduler, remain the same as for Zen 2. More precise tuning to the new microarchitecture is expected for znver3 later on.
Full support is expected to be implemented in GCC 11 or GCC 12. In either case, this means that a stable GCC compiler will not be able to take full advantage of the Zen 3 microarchitecture until 2021. At this point, support for znver3 only concerns correct operation on Zen 2 processors. This is very similar to basic support for znver3 in LLVM. However, AMD will soon release its official patch for LLVM/Clang. In addition, the company has released AOCC 2.3 as its base compiler based on LLVM 11.0 with the addition of various patches of AMD Zen. The situation here is similar to & ; AOCC 2.3 is still focused on Zen 2, but contains basic support for Zen 3. However, this is not the first situation; the LLVM improvements for AMD Zen 2 have been delayed. The delay in adding patches leads to the fact that they do not have time to get to the stable versions of compiler sets and, as a consequence, to the next major versions of the major distributions.