llvmpipe: Set "+64bit" for X86_64

Without this, on some "buggy" qemu cpu setup, LLVM could crash
if LLVM detects the wrong CPU type.

Fixes: f92cadccc6 ("llvmpipe: Always using util_get_cpu_caps to get cpu caps for llvm on x86")

Signed-off-by: Lepton Wu <lepton@chromium.org>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27539>
This commit is contained in:
Lepton Wu
2024-02-08 14:41:06 -08:00
committed by Marge Bot
parent 5dd5d4c4b5
commit 04d26ceb0a

View File

@@ -416,6 +416,13 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
* so we do not use llvm::sys::getHostCPUFeatures to detect cpu features
* but using util_get_cpu_caps() instead.
*/
#if DETECT_ARCH_X86_64
/*
* Without this, on some "buggy" qemu cpu setup, LLVM could crash
* if LLVM detects the wrong CPU type.
*/
MAttrs.push_back("+64bit");
#endif
MAttrs.push_back(util_get_cpu_caps()->has_sse ? "+sse" : "-sse" );
MAttrs.push_back(util_get_cpu_caps()->has_sse2 ? "+sse2" : "-sse2" );
MAttrs.push_back(util_get_cpu_caps()->has_sse3 ? "+sse3" : "-sse3" );