gallivm: disable NEON instructions if they are not supported
The LLVM project made some questionable decisions about defaults for armv7 (e.g. they enable NEON that is not there on NVIDIA and Marvell platforms). On top of that, getHostCPUFeatures() doesn't disable missing machine attributes. Finally, -neon alone is not sufficient to disable emmision of NEON instructions. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
bc6bfc861f
commit
e983a975c6
|
@ -625,6 +625,13 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
|
|||
MAttrs.push_back("-avx512vl");
|
||||
#endif
|
||||
#endif
|
||||
#if defined(PIPE_ARCH_ARM)
|
||||
if (!util_cpu_caps.has_neon) {
|
||||
MAttrs.push_back("-neon");
|
||||
MAttrs.push_back("-crypto");
|
||||
MAttrs.push_back("-vfp2");
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PIPE_ARCH_PPC)
|
||||
MAttrs.push_back(util_cpu_caps.has_altivec ? "+altivec" : "-altivec");
|
||||
|
|
Loading…
Reference in New Issue