diff --git a/libavutil/internal.h b/libavutil/internal.h
index 5615c06c5f2724451dfc33e2569157163efe9947..535791a52348a2ac6df335bbe82e5aefdc6fa4cd 100644
--- a/libavutil/internal.h
+++ b/libavutil/internal.h
@@ -149,16 +149,13 @@ static inline av_const int FASTDIV(int a, int b)
     return r;
 }
 #elif defined(ARCH_ARM)
-#    define FASTDIV(a,b) \
-    ({\
-        int ret,dmy;\
-        __asm__ volatile(\
-            "umull %1, %0, %2, %3"\
-            :"=&r"(ret),"=&r"(dmy)\
-            :"r"(a),"r"(ff_inverse[b])\
-            );\
-        ret;\
-    })
+static inline av_const int FASTDIV(int a, int b)
+{
+    int r, t;
+    __asm__ volatile ("umull %1, %0, %2, %3"
+                      : "=&r"(r), "=&r"(t) : "r"(a), "r"(ff_inverse[b]));
+    return r;
+}
 #elif defined(CONFIG_FASTDIV)
 #    define FASTDIV(a,b)   ((uint32_t)((((uint64_t)a)*ff_inverse[b])>>32))
 #else