RHEL9 Raises Base Target For x86_64 CPUs Plus Possible Optimized Libraries With glibc-hwcaps
Following the work over the past several months by open-source developers on x86-64 microarchitecture feature levels for the compiler toolchains, for Red Hat Enterprise Linux 9 the plan is to assume a base of at least x86-64-v2.
The x86-64-v2 feature level assumes on top of the base x86-64 instructions are CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3. This basically raises the processor feature level requirement to around Intel Nehalem -- so still very liberal support and should allow the Intel/AMD CPUs over the past decade to work with RHEL9 with only the very oldest, original AMD64 CPUs losing out. Red Hat didn't opt for x86-64-v3 since there that would assume at least AVX.
RHEL9 is planning to phase out support for the oldest x86-64 CPUs.
So the current plan now is to use x86-64-v2 as the base microarchitecture level for building Red Hat Enterprise Linux 9 packages. Being able to always assume and build with SSE4, POPCNT, and other instructions will help with offering better out-of-the-box performance.
While Red Hat has already done some work with Function Multi-Versioning for allowing optimized code paths depending upon CPUs at run-time, with the ongoing glibc-hwcaps work they are also looking at potentially loading optimized RHEL9 libraries catering towards newer CPUs as well. But with glibc-hwcaps work still pending, that isn't yet guaranteed for RHEL9. See this earlier article on glibc-hwcaps for more details on that effort. Hopefully this work will stabilize in time for RHEL9 to help exploit better out-of-the-box performance.
At the moment Fedora isn't making the same changes outside of their "Enterprise Linux Next" effort but I'd wager to guess that in the not too distant future they make the same move to help in vetting the changes for RHEL9.
More details on the updated x86-64 architecture baseline for RHEL9 via the RHEL developer blog.