Dylan Baker <dy...@pnwbakers.com> writes:

> ---
>  meson.build       | 30 ++++++++++++++++++++++++++----
>  meson_options.txt |  7 +++++++
>  2 files changed, 33 insertions(+), 4 deletions(-)
>
> diff --git a/meson.build b/meson.build
> index 0171328bcd7..f6fe141056a 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -601,13 +601,33 @@ if with_gallium_st_nine
>    endif
>  endif
>  
> +if get_option('altivec') != 'false'
> +  if host_machine.cpu_family() == 'ppc64le'
> +    if cc.get_id() == 'gcc' and cc.version().version_compare('< 4.8')
> +      error('Altivec is not supported with gcc version < 4.8.')
> +    endif
> +    if cc.compiles('''
> +        #include <altivec.h>
> +        int main() {
> +          vector unsigned char r;
> +          vector unsigned int v = vec_splat_u32 (1);
> +          r = __builtin_vec_vgbbd ((vector unsigned char) v);
> +          return 0;
> +        }''',
> +        name : 'POWER8 intrinsics')
> +      pre_args += ['-D_ARCH_PWR8', '-mpower8-vector']
> +    elif get_option('altivec') == 'true'
> +      error('Altivec support required but not found.')
> +    endif
> +  endif
> +endif
> +

The autotools build seems to do this test with -mpower8-vector in the
cflags, and that seems like it would probably be necessary.

> diff --git a/meson_options.txt b/meson_options.txt
> index 2c1f514debe..5976e14fc71 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -298,3 +298,10 @@ option(
>    choices : ['freedreno', 'glsl', 'intel', 'nir', 'nouveau', 'all'],
>    description : 'List of tools to build.',
>  )
> +option(
> +  'altivec',
> +  type : 'combo',
> +  value : 'auto',
> +  choices : ['auto', 'true', 'false'],
> +  description : 'Enable altivec optimizations if supported by host machine.',
> +)
> -- 

This should probably be power8 rather than altivec, since altivec
predates power8 by a long time.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to