[Mesa-dev] [PATCH] gallivm: disable avx512 features

Jose Fonseca jfonseca at vmware.com
Mon May 9 13:12:44 UTC 2016


On 08/05/16 07:02, sroland at vmware.com wrote:
> From: Roland Scheidegger <sroland at vmware.com>
>
> We don't target this yet, and some llvm versions incorrectly enable it based
> on cpu string, causing crashes.
> (Albeit this is a losing battle, it is pretty much guaranteed when the next
> new feature comes along llvm will mistakenly enable it on some future cpu,
> thus we would have to proactively disable all new features as llvm adds them.)
>
> This should fix https://bugs.freedesktop.org/show_bug.cgi?id=94291 (untested)
>
> CC: <mesa-stable at lists.freedesktop.org>
> ---
>   src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
>
> diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
> index e47146a..af473a8 100644
> --- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
> +++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
> @@ -566,6 +566,18 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
>      MAttrs.push_back(util_cpu_caps.has_avx  ? "+avx"  : "-avx");
>      MAttrs.push_back(util_cpu_caps.has_f16c ? "+f16c" : "-f16c");
>      MAttrs.push_back(util_cpu_caps.has_avx2 ? "+avx2" : "-avx2");
> +   /* disable avx512 and all subvariants */
> +#if HAVE_LLVM >= 0x0304
> +   MAttrs.push_back("-avx512cd");
> +   MAttrs.push_back("-avx512er");
> +   MAttrs.push_back("-avx512f");
> +   MAttrs.push_back("-avx512pf");
> +#endif
> +#if HAVE_LLVM >= 0x0305
> +   MAttrs.push_back("-avx512bw");
> +   MAttrs.push_back("-avx512dq");
> +   MAttrs.push_back("-avx512vl");
> +#endif
>   #endif
>
>   #if defined(PIPE_ARCH_PPC)
>

Reviewed-by: Jose Fonseca <jfonseca at vmware.com>


More information about the mesa-dev mailing list