[FFmpeg-cvslog] ARM: check for inline asm 'y' operand modifier support

Mans Rullgard git at videolan.org
Tue Oct 4 03:47:41 CEST 2011


ffmpeg | branch: master | Mans Rullgard <mans at mansr.com> | Sun Oct  2 23:38:32 2011 +0100| [6308729e6885947e04291d5eca7e740fff50fff1] | committer: Mans Rullgard

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 at mansr.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6308729e6885947e04291d5eca7e740fff50fff1
---

 configure            |    3 +++
 libavcodec/arm/dca.h |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/configure b/configure
index 32f1a26..22735e7 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 c4c024a..38c8d1f 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)



More information about the ffmpeg-cvslog mailing list