[Mesa-stable] [PATCH v2] llvmpipe: disable vsx in ppc due to LLVM PPC bug

Oded Gabbay oded.gabbay at gmail.com
Tue Nov 17 08:02:31 PST 2015


This patch makes sure that if we use altivec (VMX) instructions, we don't
use VSX instructions as well, as this cause piglit tests to fail

For more details, see: https://llvm.org/bugs/show_bug.cgi?id=25503#c7

With this patch, ppc64le reaches parity with x86-64 as far as piglit test
suite is concerned.

v2:
- Added check that we have at least LLVM 3.4
- Added the LLVM bug URL as a comment in the code

Signed-off-by: Oded Gabbay <oded.gabbay at gmail.com>
Cc: "11.0" <mesa-stable at lists.freedesktop.org>
---
 src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
index 7bda118..152593a 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
@@ -536,6 +536,10 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
 
 #if defined(PIPE_ARCH_PPC)
    MAttrs.push_back(util_cpu_caps.has_altivec ? "+altivec" : "-altivec");
+#if HAVE_LLVM >= 0x0304
+   /* See LLVM bug https://llvm.org/bugs/show_bug.cgi?id=25503#c7 */
+   MAttrs.push_back("-vsx");
+#endif
 #endif
 
    builder.setMAttrs(MAttrs);
-- 
2.5.0



More information about the mesa-stable mailing list