Commit 2e7a5a87 authored by mru's avatar mru

ARM: change MULL() macro to inline function

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@15780 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 201bc10f
...@@ -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