fix arm asm compilation in mpegaudiodec
[libav.git] / libavcodec / mpegaudiodec.c
index 4d10ad4..6ebbeed 100644 (file)
 #   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))