diff --git a/configure b/configure
index 8b67be7ff4deeda2b106dec5496b99d88937673b..3939cfa63ee4417926e153df9fd80a44cc4b3a38 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 94849b7e7919602786906c76367bdbbfc59d8186..b473625fb7de93ef95c314f2372e4d59ddf92351 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;