avcodec/x86/mlpdsp: Only use asm when non-local inline asm lables are supported
authorMatt Oliver <protogonoi@gmail.com>
Tue, 18 Mar 2014 04:29:14 +0000 (15:29 +1100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 18 Mar 2014 22:37:50 +0000 (23:37 +0100)
This is part of the patch-set for intel C inline asm on windows support

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
configure
libavcodec/x86/mlpdsp.c

index 8b67be7..3939cfa 100755 (executable)
--- a/configure
+++ b/configure
@@ -1690,6 +1690,7 @@ TOOLCHAIN_FEATURES="
     gnu_windres
     ibm_asm
     inline_asm_labels
+    inline_asm_nonlocal_labels
     pragma_deprecated
     rsync_contimeout
     symver_asm_label
@@ -4178,6 +4179,8 @@ od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
 
 check_inline_asm inline_asm_labels '"1:\n"'
 
+check_inline_asm inline_asm_nonlocal_labels '"Label:\n"'
+
 if enabled aarch64; then
     # internal assembler in clang 3.3 does not support this instruction
     enabled neon && check_insn neon 'ext   v0.8B, v0.8B, v1.8B, #1'
index 94849b7..b473625 100644 (file)
@@ -26,7 +26,7 @@
 #include "libavcodec/mlpdsp.h"
 #include "libavcodec/mlp.h"
 
-#if HAVE_7REGS && HAVE_INLINE_ASM
+#if HAVE_7REGS && HAVE_INLINE_ASM && HAVE_INLINE_ASM_NONLOCAL_LABELS
 
 extern char ff_mlp_firorder_8;
 extern char ff_mlp_firorder_7;
@@ -178,7 +178,7 @@ static void mlp_filter_channel_x86(int32_t *state, const int32_t *coeff,
 
 av_cold void ff_mlpdsp_init_x86(MLPDSPContext *c)
 {
-#if HAVE_7REGS && HAVE_INLINE_ASM
+#if HAVE_7REGS && HAVE_INLINE_ASM && HAVE_INLINE_ASM_NONLOCAL_LABELS
     int cpu_flags = av_get_cpu_flags();
     if (INLINE_MMX(cpu_flags))
         c->mlp_filter_channel = mlp_filter_channel_x86;