[opus] [PATCH 1/3] Add configure check for Aarch64-specific Neon intrinsics.

Jonathan Lennox jonathan at vidyo.com
Thu Nov 19 13:55:18 PST 2015


Note that these patches conflict with my (withdrawn) inline assembly for Aarch64 patches, since I’m reusing the same files to hold the optimized functions.

> On Nov 19, 2015, at 4:53 PM, Jonathan Lennox <jonathan at vidyo.com> wrote:
> 
> ---
> configure.ac | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
> 
> diff --git a/configure.ac b/configure.ac
> index 90a06c8..adcb969 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -503,6 +503,26 @@ AS_IF([test x"$enable_intrinsics" = x"yes"],[
>                  [rtcd_support="$rtcd_support (NE10)"])
>          ])
> 
> +         OPUS_CHECK_INTRINSICS(
> +            [Aarch64 Neon],
> +            [$ARM_NEON_INTR_CFLAGS],
> +            [OPUS_ARM_MAY_HAVE_AARCH64_NEON_INTR],
> +            [OPUS_ARM_PRESUME_AARCH64_NEON_INTR],
> +            [[#include <arm_neon.h>
> +            ]],
> +            [[
> +               static int32_t IN;
> +               static int16_t OUT;
> +               OUT = vqmovns_s32(IN);
> +            ]]
> +         )
> +
> +         AS_IF([test x"$OPUS_ARM_PRESUME_AARCH64_NEON_INTR" = x"1"],
> +         [
> +            AC_DEFINE([OPUS_ARM_PRESUME_AARCH64_NEON_INTR], 1, [Define if binary requires Aarch64 Neon Intrinsics])
> +            intrinsics_support="$intrinsics_support (NEON [Aarch64])"
> +         ])
> +
>          AS_IF([test x"$intrinsics_support" = x""],
>             [intrinsics_support=no],
>             [intrinsics_support="ARM$intrinsics_support"])
> -- 
> 2.4.9 (Apple Git-60)
> 
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus



More information about the opus mailing list