[vlc-devel] [PATCH] handle the underscore prefix for some ARM ABI in arm_neon

Måns Rullgård mans at mansr.com
Sat Apr 21 01:11:55 CEST 2012


David Geldreich <david.geldreich at free.fr> writes:

> here is an altenative to using an assembly macros to handle the calling
> differences across ARM ABI.
>
> use a gcc extension (also supported by clang/llvm) which symbol is
> associated with function
> ---
>  modules/arm_neon/audio_format.c |    6 ++++--
>  modules/arm_neon/chroma_neon.h  |   23 ++++++++++++++---------
>  2 files changed, 18 insertions(+), 11 deletions(-)
>
> diff --git a/modules/arm_neon/audio_format.c b/modules/arm_neon/audio_format.c
> index 8db209f..3a76f18 100644
> --- a/modules/arm_neon/audio_format.c
> +++ b/modules/arm_neon/audio_format.c
> @@ -135,8 +135,10 @@ static block_t *Do_F32_S32 (filter_t *filter, block_t *inbuf)
>  }
>  #endif
>
> -void s32_s16_neon_unaligned (int16_t *out, const int32_t *in, unsigned nb);
> -void s32_s16_neon (int16_t *out, const int32_t *in, unsigned nb);
> +extern void s32_s16_neon_unaligned (int16_t *out, const int32_t *in,
> +                                    unsigned nb) asm("s32_s16_neon_unaligned");
> +extern void s32_s16_neon (int16_t *out, const int32_t *in,
> +                          unsigned nb) asm("s32_s16_neon");

Pray nobody demands you not use a gcc extension they don't understand in
their code.

-- 
Måns Rullgård
mans at mansr.com




More information about the vlc-devel mailing list