diff --git a/libavcodec/x86/mlpdsp.c b/libavcodec/x86/mlpdsp.c
index f81c329a38cc14fab845a3986854df97c7377ab0..8f886aacbf0ba3ccf3e10a06ab2d8b2ae447bf67 100644
--- a/libavcodec/x86/mlpdsp.c
+++ b/libavcodec/x86/mlpdsp.c
@@ -24,7 +24,7 @@
 #include "libavcodec/dsputil.h"
 #include "libavcodec/mlp.h"
 
-#if HAVE_7REGS
+#if HAVE_7REGS && HAVE_INLINE_ASM
 
 extern char ff_mlp_firorder_8;
 extern char ff_mlp_firorder_7;
@@ -172,11 +172,11 @@ static void mlp_filter_channel_x86(int32_t *state, const int32_t *coeff,
     );
 }
 
-#endif /* HAVE_7REGS */
+#endif /* HAVE_7REGS && HAVE_INLINE_ASM */
 
 void ff_mlp_init_x86(DSPContext* c, AVCodecContext *avctx)
 {
-#if HAVE_7REGS
+#if HAVE_7REGS && HAVE_INLINE_ASM
     c->mlp_filter_channel = mlp_filter_channel_x86;
 #endif
 }