RPM Lands Support For x86_64 Microarchitecture Feature Levels
The RPM package manager code has added support for the x86_64 micro-architecture feature levels that allow for newer baseline targets than conventional x86_64. This support in RPM allows for installing RPMs built for newer feature levels on capable hardware.
The x86_64 feature levels allow for targeting roughly Intel Nehalem era hardware with x86-64-v2, Intel Haswell era hardware with requiring AVX2 and BMI/BMI2 and FMA with x86-64-v3, and then x86-64-v4 for mandating AVX-512.
The LLVM/Clang and GCC compilers have adopted support for these optional feature levels as has the rest of the open-source toolchain stack. Some Linux distributions have also raised their support baseline to the likes of x86-64-v2 and some Linux distributions like Arch Linux have been working on optionally providing x86-64-v3 packages.
Going back to last December was a pull request introducing the x86-64 architecture levels for the RPM package manager to support recognizing a target CPU of a higher feature level and important for those RPM-based Linux distributions that ultimately may want to opt for providing additional optimized RPM packages catering to different feature levels.
That cleaned up code was merged last month into RPM. By default it doesn't change the default target to building RPMs for basic x86_64.
The x86_64 feature levels allow for targeting roughly Intel Nehalem era hardware with x86-64-v2, Intel Haswell era hardware with requiring AVX2 and BMI/BMI2 and FMA with x86-64-v3, and then x86-64-v4 for mandating AVX-512.
The LLVM/Clang and GCC compilers have adopted support for these optional feature levels as has the rest of the open-source toolchain stack. Some Linux distributions have also raised their support baseline to the likes of x86-64-v2 and some Linux distributions like Arch Linux have been working on optionally providing x86-64-v3 packages.
Going back to last December was a pull request introducing the x86-64 architecture levels for the RPM package manager to support recognizing a target CPU of a higher feature level and important for those RPM-based Linux distributions that ultimately may want to opt for providing additional optimized RPM packages catering to different feature levels.
That cleaned up code was merged last month into RPM. By default it doesn't change the default target to building RPMs for basic x86_64.
25 Comments