llvmpipe: Enable avx512 support in llvm
authorYonggang Luo <luoyonggang@gmail.com>
Sat, 27 Aug 2022 06:49:00 +0000 (14:49 +0800)
committerMarge Bot <emma+marge@anholt.net>
Fri, 2 Sep 2022 01:51:42 +0000 (01:51 +0000)
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17813>

src/gallium/auxiliary/gallivm/lp_bld_misc.cpp

index 3b91276..2279e5a 100644 (file)
@@ -414,14 +414,15 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
    MAttrs.push_back(util_get_cpu_caps()->has_f16c ? "+f16c" : "-f16c");
    MAttrs.push_back(util_get_cpu_caps()->has_fma  ? "+fma"  : "-fma");
    MAttrs.push_back(util_get_cpu_caps()->has_avx2 ? "+avx2" : "-avx2");
-   /* disable avx512 and all subvariants */
-   MAttrs.push_back("-avx512cd");
-   MAttrs.push_back("-avx512er");
-   MAttrs.push_back("-avx512f");
-   MAttrs.push_back("-avx512pf");
-   MAttrs.push_back("-avx512bw");
-   MAttrs.push_back("-avx512dq");
-   MAttrs.push_back("-avx512vl");
+
+   /* All avx512 have avx512f */
+   MAttrs.push_back(util_get_cpu_caps()->has_avx512f ? "+avx512f"  : "-avx512f");
+   MAttrs.push_back(util_get_cpu_caps()->has_avx512cd ? "+avx512cd"  : "-avx512cd");
+   MAttrs.push_back(util_get_cpu_caps()->has_avx512er ? "+avx512er"  : "-avx512er");
+   MAttrs.push_back(util_get_cpu_caps()->has_avx512pf ? "+avx512pf"  : "-avx512pf");
+   MAttrs.push_back(util_get_cpu_caps()->has_avx512bw ? "+avx512bw"  : "-avx512bw");
+   MAttrs.push_back(util_get_cpu_caps()->has_avx512dq ? "+avx512dq"  : "-avx512dq");
+   MAttrs.push_back(util_get_cpu_caps()->has_avx512vl ? "+avx512vl"  : "-avx512vl");
 #endif
 #if defined(PIPE_ARCH_ARM)
    if (!util_get_cpu_caps()->has_neon) {