mirror of https://git.ffmpeg.org/ffmpeg.git
ARM: change MULL() macro to inline function
Originally committed as revision 15780 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
96dea17a1d
commit
8f4d0d48b9
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue