[v2,1/2] drivers: fix build warnings when using icx
Checks
Commit Message
The Intel oneAPI DPC++/C++ Compiler (icx), issues warnings on build when
the "-march=native", or other configured global "-march" flag, is
overridden to "skylake-avx512", when compiling AVX-512 code.
Allow building with icx with warnings-as-errors flag (werror) enabled by
disabling the warning for the cases where we pass that extra "-march"
flag.
Fixes: e6a6a138919f ("net/i40e: add AVX512 vector path")
Fixes: 31737f2b66fb ("net/iavf: enable AVX512 for legacy Rx")
Fixes: 7f85d5ebcfe1 ("net/ice: add AVX512 vector path")
Fixes: 0fac6a1c44d5 ("common/idpf: add AVX512 for single queue model")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/common/idpf/meson.build | 3 +++
drivers/net/intel/i40e/meson.build | 3 +++
drivers/net/intel/iavf/meson.build | 3 +++
drivers/net/intel/ice/meson.build | 3 +++
4 files changed, 12 insertions(+)
Comments
> The Intel oneAPI DPC++/C++ Compiler (icx), issues warnings on build when
> the "-march=native", or other configured global "-march" flag, is
> overridden to "skylake-avx512", when compiling AVX-512 code.
>
> Allow building with icx with warnings-as-errors flag (werror) enabled by
> disabling the warning for the cases where we pass that extra "-march"
> flag.
>
> Fixes: e6a6a138919f ("net/i40e: add AVX512 vector path")
> Fixes: 31737f2b66fb ("net/iavf: enable AVX512 for legacy Rx")
> Fixes: 7f85d5ebcfe1 ("net/ice: add AVX512 vector path")
> Fixes: 0fac6a1c44d5 ("common/idpf: add AVX512 for single queue model")
> Cc: stable@dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> drivers/common/idpf/meson.build | 3 +++
> drivers/net/intel/i40e/meson.build | 3 +++
> drivers/net/intel/iavf/meson.build | 3 +++
> drivers/net/intel/ice/meson.build | 3 +++
> 4 files changed, 12 insertions(+)
>
> diff --git a/drivers/common/idpf/meson.build
> b/drivers/common/idpf/meson.build
> index 46fd45c03b..7dbcdabd90 100644
> --- a/drivers/common/idpf/meson.build
> +++ b/drivers/common/idpf/meson.build
> @@ -21,6 +21,9 @@ if arch_subdir == 'x86'
> avx512_args = cflags + cc_avx512_flags
> if cc.has_argument('-march=skylake-avx512')
> avx512_args += '-march=skylake-avx512'
> + if cc.has_argument('-Wno-overriding-option')
> + avx512_args += '-Wno-overriding-option'
> + endif
> endif
> idpf_common_avx512_lib = static_library('idpf_common_avx512_lib',
> 'idpf_common_rxtx_avx512.c',
> diff --git a/drivers/net/intel/i40e/meson.build
> b/drivers/net/intel/i40e/meson.build
> index 5c93493124..ffa40c5d64 100644
> --- a/drivers/net/intel/i40e/meson.build
> +++ b/drivers/net/intel/i40e/meson.build
> @@ -57,6 +57,9 @@ if arch_subdir == 'x86'
> avx512_args = cflags + cc_avx512_flags
> if cc.has_argument('-march=skylake-avx512')
> avx512_args += '-march=skylake-avx512'
> + if cc.has_argument('-Wno-overriding-option')
> + avx512_args += '-Wno-overriding-option'
> + endif
> endif
> i40e_avx512_lib = static_library('i40e_avx512_lib',
> 'i40e_rxtx_vec_avx512.c',
> diff --git a/drivers/net/intel/iavf/meson.build
> b/drivers/net/intel/iavf/meson.build
> index d9b605f55a..c2bef0230f 100644
> --- a/drivers/net/intel/iavf/meson.build
> +++ b/drivers/net/intel/iavf/meson.build
> @@ -40,6 +40,9 @@ if arch_subdir == 'x86' and
> is_variable('static_rte_common_iavf')
> avx512_args = cflags + cc_avx512_flags
> if cc.has_argument('-march=skylake-avx512')
> avx512_args += '-march=skylake-avx512'
> + if cc.has_argument('-Wno-overriding-option')
> + avx512_args += '-Wno-overriding-option'
> + endif
> endif
> iavf_avx512_lib = static_library('iavf_avx512_lib',
> 'iavf_rxtx_vec_avx512.c',
> diff --git a/drivers/net/intel/ice/meson.build
> b/drivers/net/intel/ice/meson.build
> index beaf21e176..3b13a5913d 100644
> --- a/drivers/net/intel/ice/meson.build
> +++ b/drivers/net/intel/ice/meson.build
> @@ -40,6 +40,9 @@ if arch_subdir == 'x86'
> avx512_args = cflags + cc_avx512_flags
> if cc.has_argument('-march=skylake-avx512')
> avx512_args += '-march=skylake-avx512'
> + if cc.has_argument('-Wno-overriding-option')
> + avx512_args += '-Wno-overriding-option'
> + endif
> endif
> ice_avx512_lib = static_library('ice_avx512_lib',
> 'ice_rxtx_vec_avx512.c',
> --
> 2.43.0
Tested ok and looks good to me.
Acked-by: Ian Stokes <ian.stokes@intel.com>
@@ -21,6 +21,9 @@ if arch_subdir == 'x86'
avx512_args = cflags + cc_avx512_flags
if cc.has_argument('-march=skylake-avx512')
avx512_args += '-march=skylake-avx512'
+ if cc.has_argument('-Wno-overriding-option')
+ avx512_args += '-Wno-overriding-option'
+ endif
endif
idpf_common_avx512_lib = static_library('idpf_common_avx512_lib',
'idpf_common_rxtx_avx512.c',
@@ -57,6 +57,9 @@ if arch_subdir == 'x86'
avx512_args = cflags + cc_avx512_flags
if cc.has_argument('-march=skylake-avx512')
avx512_args += '-march=skylake-avx512'
+ if cc.has_argument('-Wno-overriding-option')
+ avx512_args += '-Wno-overriding-option'
+ endif
endif
i40e_avx512_lib = static_library('i40e_avx512_lib',
'i40e_rxtx_vec_avx512.c',
@@ -40,6 +40,9 @@ if arch_subdir == 'x86' and is_variable('static_rte_common_iavf')
avx512_args = cflags + cc_avx512_flags
if cc.has_argument('-march=skylake-avx512')
avx512_args += '-march=skylake-avx512'
+ if cc.has_argument('-Wno-overriding-option')
+ avx512_args += '-Wno-overriding-option'
+ endif
endif
iavf_avx512_lib = static_library('iavf_avx512_lib',
'iavf_rxtx_vec_avx512.c',
@@ -40,6 +40,9 @@ if arch_subdir == 'x86'
avx512_args = cflags + cc_avx512_flags
if cc.has_argument('-march=skylake-avx512')
avx512_args += '-march=skylake-avx512'
+ if cc.has_argument('-Wno-overriding-option')
+ avx512_args += '-Wno-overriding-option'
+ endif
endif
ice_avx512_lib = static_library('ice_avx512_lib',
'ice_rxtx_vec_avx512.c',