fix arm asm compilation in mpegaudiodec

Originally committed as revision 6057 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Aurelien Jacobs 2006-08-23 23:39:27 +00:00
parent 81a9b052df
commit acba32385b

View File

@ -59,13 +59,13 @@
# define MULL(a, b) \ # define MULL(a, b) \
({ int lo, hi;\ ({ int lo, hi;\
asm("smull %0, %1, %2, %3 \n\t"\ asm("smull %0, %1, %2, %3 \n\t"\
"mov %0, %0, lsr #%4\n\t"\ "mov %0, %0, lsr %4\n\t"\
"add %1, %0, %1, lsl #%5\n\t"\ "add %1, %0, %1, lsl %5\n\t"\
: "=r"(lo), "=r"(hi)\ : "=&r"(lo), "=&r"(hi)\
: "r"(b), "r"(a), "i"(FRAC_BITS), "i"(32-FRAC_BITS));\ : "r"(b), "r"(a), "i"(FRAC_BITS), "i"(32-FRAC_BITS));\
hi; }) hi; })
# define MUL64(a,b) ((int64_t)(a) * (int64_t)(b)) # define MUL64(a,b) ((int64_t)(a) * (int64_t)(b))
# define MULH(a, b) ({ int lo, hi; asm ("smull %0, %1, %2, %3" : "=r"(lo), "=r"(hi) : "r"(b),"r"(a)); hi; }) # define MULH(a, b) ({ int lo, hi; asm ("smull %0, %1, %2, %3" : "=&r"(lo), "=&r"(hi) : "r"(b), "r"(a)); hi; })
#else #else
# define MULL(a,b) (((int64_t)(a) * (int64_t)(b)) >> FRAC_BITS) # define MULL(a,b) (((int64_t)(a) * (int64_t)(b)) >> FRAC_BITS)
# define MUL64(a,b) ((int64_t)(a) * (int64_t)(b)) # define MUL64(a,b) ((int64_t)(a) * (int64_t)(b))