meson: Fix compiler checks for SWR with ICC
authorDylan Baker <dylan@pnwbakers.com>
Mon, 14 Jan 2019 23:15:09 +0000 (15:15 -0800)
committerDylan Baker <dylan@pnwbakers.com>
Thu, 24 Jan 2019 19:14:50 +0000 (19:14 +0000)
This is a bit fragile, as the way this "fixes" the check is to move the
one that we know is correct before the one that is incorrectly reported
as working. In meson 0.49.1 (which isn't out yet) this is fixed that the
incorrect check is reported as a failure.

Fixes: e0b037d6979b266d4959c1e31746d4d19c941fdb
       ("meson: Build SWR driver")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109129
Acked-by: Eric Engestrom <eric.engestrom@intel.com>
src/gallium/drivers/swr/meson.build

index 6c1cdbd..3f32d03 100644 (file)
@@ -190,11 +190,7 @@ swr_arch_libs = []
 swr_arch_defines = []
 
 swr_avx_args = cpp.first_supported_argument(
-  '-target-cpu=sandybridge', '-mavx', '-march=core-avx', '-tp=sandybridge',
-  prefix : '''
-    #if !defined(__AVX__)
-    # error
-    #endif ''',
+  '-mavx', '-target-cpu=sandybridge', '-march=core-avx', '-tp=sandybridge',
 )
 if swr_avx_args == []
   error('Cannot find AVX support for swr. (these are required for SWR an all architectures.)')
@@ -215,18 +211,10 @@ endif
 
 if with_swr_arches.contains('avx2')
   swr_avx2_args = cpp.first_supported_argument(
-    '-target-cpu=haswell', '-march=core-avx2', '-tp=haswell',
-    prefix : '''
-      #if !defined(__AVX2__)
-      # error
-      #endif ''',
+    '-march=core-avx2', '-target-cpu=haswell', '-tp=haswell',
   )
   if swr_avx2_args == []
-    if cpp.has_argument(['-mavx2', '-mfma', '-mbmi2', '-mf16c'],
-                        prefix : '''
-                          #if !defined(__AVX2__)
-                          # error
-                          #endif ''')
+    if cpp.has_argument(['-mavx2', '-mfma', '-mbmi2', '-mf16c'])
       swr_avx2_args = ['-mavx2', '-mfma', '-mbmi2', '-mf16c']
     else
       error('Cannot find AVX2 support for swr.')
@@ -248,11 +236,7 @@ endif
 
 if with_swr_arches.contains('knl')
   swr_knl_args = cpp.first_supported_argument(
-    '-target-cpu=mic-knl', '-march=knl', '-xMIC-AVX512',
-    prefix : '''
-      #if !defined(__AVX512F__) || !defined(__AVX512ER__)
-      # error
-      #endif ''',
+    '-march=knl', '-target-cpu=mic-knl', '-xMIC-AVX512',
   )
   if swr_knl_args == []
     error('Cannot find KNL support for swr.')
@@ -276,11 +260,7 @@ endif
 
 if with_swr_arches.contains('skx')
   swr_skx_args = cpp.first_supported_argument(
-    '-target-cpu=x86-skylake', '-march=skylake-avx512', '-xCORE-AVX512',
-    prefix : '''
-      #if !defined(__AVX512F__) || !defined(__AVX512BW__)
-      # error
-      #endif ''',
+    '-march=skylake-avx512', '-target-cpu=x86-skylake', '-xCORE-AVX512',
   )
   if swr_skx_args == []
     error('Cannot find SKX support for swr.')