[Mesa-dev] [PATCH] gallium: Disable Altivec on PPC SPE variants

Stuart Young cefiar at gmail.com
Sun Jul 1 06:44:06 UTC 2018


Further info on this:

The original patch in Debian is at
https://sources.debian.org/src/mesa/18.1.2-1/debian/patches/07_gallium-fix-build-failure-on-powerpcspe.diff/
(URL will change based on version of Mesa in Debian - URL is current when I
sent this email).

PowerPCSPE port page in Debian which explains its quirks in more detail:
https://wiki.debian.org/PowerPCSPEPort

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.

On Sun, 1 Jul 2018 at 16:36, Stuart Young <cefiar at gmail.com> wrote:

> PowerPC variants with the Signal Processing Engine do not support
> Altivec instructions, as the SPE instruction set uses the same
> instruction codes as the Altivec set available in most PowerPC
> cores. Note that this is not related to the "Synergistic Processing
> Element" units on IBM Cell microprocessors.
>
> This patch prevents any Altivec specialising on these cores by
> looking for __NO_FPRS__ (should only be defined on these variants).
> ---
>  src/gallium/include/pipe/p_config.h | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/src/gallium/include/pipe/p_config.h
> b/src/gallium/include/pipe/p_config.h
> index 3fa43ed797..0a6251e060 100644
> --- a/src/gallium/include/pipe/p_config.h
> +++ b/src/gallium/include/pipe/p_config.h
> @@ -103,12 +103,16 @@
>  #endif
>  #endif
>
> +#if defined (__NO_FPRS__)
> +/* Skip PPC tests as possible PowerPC SPE (Signal Processing Engine)
> variant */
> +#else
>  #if defined(__ppc__) || defined(__ppc64__) || defined(__PPC__)
>  #define PIPE_ARCH_PPC
>  #if defined(__ppc64__) || defined(__PPC64__)
>  #define PIPE_ARCH_PPC_64
>  #endif
>  #endif
> +#endif
>
>  #if defined(__s390x__)
>  #define PIPE_ARCH_S390
> --
> 2.11.0
>
>

-- 
Stuart Young (aka Cefiar)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180701/09d4a5ee/attachment.html>


More information about the mesa-dev mailing list