[Mesa-dev] [PATCH] gallium: Disable Altivec on PPC SPE variants
Michel Dänzer
michel at daenzer.net
Mon Jul 2 09:35:10 UTC 2018
On 2018-07-01 08:36 AM, Stuart Young 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
>
This is probably too big a hammer — PIPE_ARCH_PPC(_64) are used for
other things than Altivec detection.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the mesa-dev
mailing list