Replace per-driver checks for AVX-512 with the standard variables from
config/x86.

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
 drivers/event/dlb2/meson.build | 42 ++++++++--------------------------
 1 file changed, 9 insertions(+), 33 deletions(-)

diff --git a/drivers/event/dlb2/meson.build b/drivers/event/dlb2/meson.build
index 515d1795fe..34131fd18b 100644
--- a/drivers/event/dlb2/meson.build
+++ b/drivers/event/dlb2/meson.build
@@ -26,43 +26,19 @@ sources = files(
 # we are building 64-bit binary (checked above) AND binutils
 # can generate proper code
 
-if binutils_ok
+if target_has_avx512
+    sources += files('dlb2_avx512.c')
+    cflags += '-DCC_AVX512_SUPPORT'
 
-    # compile AVX512 version if either:
-    # a. we have AVX512VL supported in minimum instruction set
-    #    baseline
-    # b. it's not minimum instruction set, but supported by
-    #    compiler
-    #
-    # in former case, just add avx512 C file to files list
-    # in latter case, compile c file to static lib, using correct
-    # compiler flags, and then have the .o file from static lib
-    # linked into main lib.
-
-    # check if all required flags already enabled (variant a).
-    dlb2_avx512_on = false
-    if cc.get_define('__AVX512VL__', args: machine_args) != ''
-        dlb2_avx512_on = true
-    endif
-
-    if dlb2_avx512_on == true
-
-        sources += files('dlb2_avx512.c')
-        cflags += '-DCC_AVX512_SUPPORT'
-
-    elif cc.has_multi_arguments('-mavx512vl')
-
-        cflags += '-DCC_AVX512_SUPPORT'
-        avx512_tmplib = static_library('avx512_tmp',
+elif cc_has_avx512
+    cflags += '-DCC_AVX512_SUPPORT'
+    avx512_tmplib = static_library('avx512_tmp',
                                'dlb2_avx512.c',
                                dependencies: [static_rte_eal, 
static_rte_eventdev],
-                               c_args: cflags + ['-mavx512vl'])
-        objs += avx512_tmplib.extract_objects('dlb2_avx512.c')
-    else
-        sources += files('dlb2_sse.c')
-    endif
+                               c_args: cflags + cc_avx512_flags)
+    objs += avx512_tmplib.extract_objects('dlb2_avx512.c')
 else
-        sources += files('dlb2_sse.c')
+    sources += files('dlb2_sse.c')
 endif
 
 headers = files('rte_pmd_dlb2.h')
-- 
2.43.0

Reply via email to