Move COPY3_IF_LT to lavc/mathops.h
[ffmpeg.git] / libavcodec / x86 / mathops.h
index 6bd4b17..691a200 100644 (file)
@@ -25,6 +25,7 @@
 #include "config.h"
 #include "libavutil/common.h"
 
+#if ARCH_X86_32
 #define MULL(ra, rb, shift) \
         ({ int rt, dummy; __asm__ (\
             "imull %3               \n\t"\
@@ -42,6 +43,7 @@
     ({ int64_t rt;\
      __asm__ ("imull %2\n\t" : "=A"(rt) : "a" ((int)ra), "g" ((int)rb));\
      rt; })
+#endif
 
 #if HAVE_CMOV
 /* median of 3 */
@@ -64,4 +66,16 @@ static inline av_const int mid_pred(int a, int b, int c)
 }
 #endif
 
+#if HAVE_CMOV
+#define COPY3_IF_LT(x, y, a, b, c, d)\
+__asm__ volatile(\
+    "cmpl  %0, %3       \n\t"\
+    "cmovl %3, %0       \n\t"\
+    "cmovl %4, %1       \n\t"\
+    "cmovl %5, %2       \n\t"\
+    : "+&r" (x), "+&r" (a), "+r" (c)\
+    : "r" (y), "r" (b), "r" (d)\
+);
+#endif
+
 #endif /* AVCODEC_X86_MATHOPS_H */