Commit 8f4d0d48 authored by Måns Rullgård's avatar Måns Rullgård

ARM: change MULL() macro to inline function

Originally committed as revision 15780 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 96dea17a
...@@ -26,14 +26,17 @@ ...@@ -26,14 +26,17 @@
#include "libavutil/common.h" #include "libavutil/common.h"
#ifdef FRAC_BITS #ifdef FRAC_BITS
# define MULL(a, b) \ # define MULL MULL
({ int lo, hi;\ static inline av_const int MULL(int a, int b)
__asm__("smull %0, %1, %2, %3 \n\t"\ {
"mov %0, %0, lsr %4\n\t"\ int lo, hi;
"add %1, %0, %1, lsl %5\n\t"\ __asm__("smull %0, %1, %2, %3 \n\t"
: "=&r"(lo), "=&r"(hi)\ "mov %0, %0, lsr %4 \n\t"
: "r"(b), "r"(a), "i"(FRAC_BITS), "i"(32-FRAC_BITS));\ "add %1, %0, %1, lsl %5 \n\t"
hi; }) : "=&r"(lo), "=&r"(hi)
: "r"(b), "r"(a), "i"(FRAC_BITS), "i"(32-FRAC_BITS));
return hi;
}
#endif #endif
#ifdef HAVE_ARMV6 #ifdef HAVE_ARMV6
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment