ARM: check for inline asm 'y' operand modifier support

The inline asm added in bf5d46d uses the 'y' modifier which
is only supported from gcc 4.5.  This check allows building
with older compilers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
Mans Rullgard 2011-10-02 23:38:32 +01:00
parent 5674d4b0a3
commit 6308729e68
2 changed files with 4 additions and 1 deletions

3
configure vendored
View File

@ -1042,6 +1042,7 @@ HAVE_LIST="
alsa_asoundlib_h alsa_asoundlib_h
altivec_h altivec_h
arpa_inet_h arpa_inet_h
asm_mod_y
attribute_may_alias attribute_may_alias
attribute_packed attribute_packed
bswap bswap
@ -2644,6 +2645,8 @@ EOF
enabled neon && check_asm neon '"vadd.i16 q0, q0, q0"' enabled neon && check_asm neon '"vadd.i16 q0, q0, q0"'
enabled vfpv3 && check_asm vfpv3 '"vmov.f32 s0, #1.0"' enabled vfpv3 && check_asm vfpv3 '"vmov.f32 s0, #1.0"'
check_asm asm_mod_y '"vmul.i32 d0, d0, %y0" :: "x"(0)'
enabled_all armv6t2 shared !pic && enable_pic enabled_all armv6t2 shared !pic && enable_pic
elif enabled mips; then elif enabled mips; then

View File

@ -24,7 +24,7 @@
#include <stdint.h> #include <stdint.h>
#include "config.h" #include "config.h"
#if HAVE_NEON && HAVE_INLINE_ASM #if HAVE_NEON && HAVE_INLINE_ASM && HAVE_ASM_MOD_Y
#define int8x8_fmul_int32 int8x8_fmul_int32 #define int8x8_fmul_int32 int8x8_fmul_int32
static inline void int8x8_fmul_int32(float *dst, const int8_t *src, int scale) static inline void int8x8_fmul_int32(float *dst, const int8_t *src, int scale)