[RFC PATCH] build: reduce use of AVX compiler flags
Morten Brørup
mb at smartsharesystems.com
Wed Mar 26 19:06:58 CET 2025
> From: Bruce Richardson [mailto:bruce.richardson at intel.com]
> Sent: Wednesday, 26 March 2025 17.22
>
> On Tue, Mar 25, 2025 at 05:22:15PM +0000, Bruce Richardson wrote:
> > When doing a build for a target that already has the instruction sets
> > for AVX2/AVX512 enabled, skip emitting the AVX compiler flags, or the
> > skylake-avx512 '-march' flags, as they are unnecessary. Instead, when
> > the default flags produce the desired output, just use them
> unmodified.
> >
> > Depends-on: series-34915 ("remove component-specific logic for AVX
> builds")
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> > ---
> >
> > This patchset depends on the previous AVX rework. However, sending it
> > separately as a new RFC because it effectively increases the minimum
> > compiler versions needed for x86 builds - from GCC 5 to 6, and
> > Clang 3.6 to 3.9.
> >
> > For now, I've just documented that as an additional note in the GSG
> that
> > these versions are recommended, but it would be simpler if we could
> just
> > set them as the required minimum baseline (at least in the docs).
> >
> > Feedback on these compiler version requirements welcome.
> >
>
> +techboard
>
> Ping for a little bit of feedback for this. Are we ok to bump the
> minimum
> compiler versions as described above, or will I continue with the
> approach
> in this RFC of keeping the minimum and just recommending the higher
> versions for x86 platforms?
>
> For reference GCC 6.1 was released April 2016[1], and, Clang 3.9 was
> released Sept 2016[2]
>
> /Bruce
>
> [1] https://gcc.gnu.org/gcc-6/
> [2] https://releases.llvm.org/
Considering GCC versions shipped with RHEL [3]...
We kind of support RHEL 7, but we already require a newer compiler (GCC 5) than shipped with RHEL 7 (GCC 4.8).
RHEL 8 ships with GCC 8, which was released in May 2018 [4]. Maybe we can jump to GCC 8?
BTW, we should also apply the same principle I argued [5] should apply for upgrading the Kernel requirements: There should be a need for specific feature or similar - which there is with your patch - and the details should be mentioned in the release notes.
[3]: https://access.redhat.com/solutions/19458
[4]: https://gcc.gnu.org/gcc-8/
[5]: https://inbox.dpdk.org/dev/CAMEVEZutf4sJ=EQFONw_bJW0tGTWqTbF_Tk_y38qzBLccco46Q@mail.gmail.com/T/#me7c8f1dbe4331ccf232d43512d6ddb51458c568a
More information about the dev
mailing list