changeset 5689:84bc9138be8f libavcodec

properly tell the compiler that A0 and A1 are clobbered
author mhoffman
date Mon, 17 Sep 2007 13:17:50 +0000
parents c0f471cc871d
children 930587f0259d
files bfin/mathops.h
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/bfin/mathops.h	Mon Sep 17 10:14:56 2007 +0000
+++ b/bfin/mathops.h	Mon Sep 17 13:17:50 2007 +0000
@@ -31,7 +31,7 @@
         "a0 = %1.H * %2.H, a1+= %1.H * %2.L (IS,M);\n\t"\
         "a1 = a1 >>> 16;\n\t"                           \
         "%0 = (a0 += a1);\n\t"                          \
-        : "=d" (xxo) : "d" (X), "d" (Y)); xxo; })
+        : "=d" (xxo) : "d" (X), "d" (Y) : "A0","A1"); xxo; })
 #else
 #define MULH(X,Y) ({ int xxo;                           \
     asm (                                               \
@@ -39,14 +39,14 @@
         "a0 = %1.H * %2.H, a1+= %1.H * %2.L (IS,M);\n\t"\
         "a1 = a1 >>> 16;\n\t"                           \
         "%0 = (a0 += a1);\n\t"                          \
-        : "=d" (xxo) : "d" (X), "d" (Y)); xxo; })
+        : "=d" (xxo) : "d" (X), "d" (Y) : "A0","A1"); xxo; })
 #endif
 
 /* signed 16x16 -> 32 multiply */
 #define MUL16(a, b) ({ int xxo;                         \
     asm (                                               \
        "%0 = %1.l*%2.l (is);\n\t"                       \
-       : "=W" (xxo) : "d" (a), "d" (b));                \
+       : "=W" (xxo) : "d" (a), "d" (b) : "A1");         \
     xxo; })
 
 #endif /* AVCODEC_BFIN_MATHOPS_H */