diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index 4d10ad4a06..6ebbeed0b3 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -59,13 +59,13 @@ # define MULL(a, b) \ ({ int lo, hi;\ asm("smull %0, %1, %2, %3 \n\t"\ - "mov %0, %0, lsr #%4\n\t"\ - "add %1, %0, %1, lsl #%5\n\t"\ - : "=r"(lo), "=r"(hi)\ + "mov %0, %0, lsr %4\n\t"\ + "add %1, %0, %1, lsl %5\n\t"\ + : "=&r"(lo), "=&r"(hi)\ : "r"(b), "r"(a), "i"(FRAC_BITS), "i"(32-FRAC_BITS));\ hi; }) # 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 # define MULL(a,b) (((int64_t)(a) * (int64_t)(b)) >> FRAC_BITS) # define MUL64(a,b) ((int64_t)(a) * (int64_t)(b))