[v2,1/2] drivers: fix build warnings when using icx

Message ID 20250205182918.4041268-2-bruce.richardson@intel.com (mailing list archive)
State Superseded
Delegated to: Thomas Monjalon
Headers
Series replace icc support with icx |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Bruce Richardson Feb. 5, 2025, 6:29 p.m. UTC
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

Stokes, Ian Feb. 10, 2025, 10:55 a.m. UTC | #1
> 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>
  

Patch

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',