From b2d3a45598ef8f8aaee489541c6914f960e53db4 Mon Sep 17 00:00:00 2001 From: Matt Oliver Date: Tue, 18 Mar 2014 15:29:14 +1100 Subject: [PATCH] avcodec/x86/mlpdsp: Only use asm when non-local inline asm lables are supported This is part of the patch-set for intel C inline asm on windows support Signed-off-by: Michael Niedermayer --- configure | 3 +++ libavcodec/x86/mlpdsp.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 8b67be7ff4..3939cfa63e 100755 --- 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' diff --git a/libavcodec/x86/mlpdsp.c b/libavcodec/x86/mlpdsp.c index 94849b7e79..b473625fb7 100644 --- a/libavcodec/x86/mlpdsp.c +++ b/libavcodec/x86/mlpdsp.c @@ -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;