aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-10-02 23:38:32 +0100
committerMans Rullgard <mans@mansr.com>2011-10-03 08:56:24 +0100
commit6308729e6885947e04291d5eca7e740fff50fff1 (patch)
tree700d3e8678afde29698adfb85a51491d11692133
parent5674d4b0a35a34b75e3533a8580e0b5a0a8895a7 (diff)
downloadffmpeg-6308729e6885947e04291d5eca7e740fff50fff1.tar.gz
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>
-rwxr-xr-xconfigure3
-rw-r--r--libavcodec/arm/dca.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/configure b/configure
index 32f1a26298..22735e788e 100755
--- a/configure
+++ b/configure
@@ -1042,6 +1042,7 @@ HAVE_LIST="
alsa_asoundlib_h
altivec_h
arpa_inet_h
+ asm_mod_y
attribute_may_alias
attribute_packed
bswap
@@ -2644,6 +2645,8 @@ EOF
enabled neon && check_asm neon '"vadd.i16 q0, q0, q0"'
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
elif enabled mips; then
diff --git a/libavcodec/arm/dca.h b/libavcodec/arm/dca.h
index c4c024a36a..38c8d1f9cc 100644
--- a/libavcodec/arm/dca.h
+++ b/libavcodec/arm/dca.h
@@ -24,7 +24,7 @@
#include <stdint.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
static inline void int8x8_fmul_int32(float *dst, const int8_t *src, int scale)