DPDK build checks for build support for various instruction sets by checking both the target machine and the compiler for support. However, any disabling of instruction sets via compiler flags was not taken into account in many cases. For AVX512 support, check for a user-specified "no-avx512f" flag in the c_args parameter before checking if the compiler can actually build AVX512 code.
As well as providing an option for the user, this can be used to test builds without AVX512 without having to use an older compiler. Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- config/x86/meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/x86/meson.build b/config/x86/meson.build index 5455bb0210..47a5b0c04a 100644 --- a/config/x86/meson.build +++ b/config/x86/meson.build @@ -17,7 +17,8 @@ endif cc_avx512_flags = ['-mavx512f', '-mavx512vl', '-mavx512dq', '-mavx512bw'] cc_has_avx512 = false target_has_avx512 = false -if binutils_ok and cc.has_multi_arguments(cc_avx512_flags) +if (binutils_ok and cc.has_multi_arguments(cc_avx512_flags) + and '-mno-avx512f' not in get_option('c_args')) # check if compiler is working with _mm512_extracti64x4_epi64 # Ref: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82887 code = '''#include <immintrin.h> -- 2.43.0