<div dir="ltr">Further info on this:<div><br></div><div>The original patch in Debian is at <a href="https://sources.debian.org/src/mesa/18.1.2-1/debian/patches/07_gallium-fix-build-failure-on-powerpcspe.diff/">https://sources.debian.org/src/mesa/18.1.2-1/debian/patches/07_gallium-fix-build-failure-on-powerpcspe.diff/</a> (URL will change based on version of Mesa in Debian - URL is current when I sent this email).<div><br></div><div>PowerPCSPE port page in Debian which explains its quirks in more detail: <a href="https://wiki.debian.org/PowerPCSPEPort">https://wiki.debian.org/PowerPCSPEPort</a></div></div><div><br></div><div>Patch I provided compiles fine on non-PPC platforms, but would be worth someone with a proper PPC platform (ie: non-SPE) confirm it still produces Altivec instructions.</div></div><br><div class="gmail_quote"><div dir="ltr">On Sun, 1 Jul 2018 at 16:36, Stuart Young <<a href="mailto:cefiar@gmail.com">cefiar@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">PowerPC variants with the Signal Processing Engine do not support<br>
Altivec instructions, as the SPE instruction set uses the same<br>
instruction codes as the Altivec set available in most PowerPC<br>
cores. Note that this is not related to the "Synergistic Processing<br>
Element" units on IBM Cell microprocessors.<br>
<br>
This patch prevents any Altivec specialising on these cores by<br>
looking for __NO_FPRS__ (should only be defined on these variants).<br>
---<br>
src/gallium/include/pipe/p_config.h | 4 ++++<br>
1 file changed, 4 insertions(+)<br>
<br>
diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h<br>
index 3fa43ed797..0a6251e060 100644<br>
--- a/src/gallium/include/pipe/p_config.h<br>
+++ b/src/gallium/include/pipe/p_config.h<br>
@@ -103,12 +103,16 @@<br>
#endif<br>
#endif<br>
<br>
+#if defined (__NO_FPRS__)<br>
+/* Skip PPC tests as possible PowerPC SPE (Signal Processing Engine) variant */<br>
+#else<br>
#if defined(__ppc__) || defined(__ppc64__) || defined(__PPC__)<br>
#define PIPE_ARCH_PPC<br>
#if defined(__ppc64__) || defined(__PPC64__)<br>
#define PIPE_ARCH_PPC_64<br>
#endif<br>
#endif<br>
+#endif<br>
<br>
#if defined(__s390x__)<br>
#define PIPE_ARCH_S390<br>
-- <br>
2.11.0<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Stuart Young (aka Cefiar)</div>