aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-05-27 21:59:46 +0100
committerMans Rullgard <mans@mansr.com>2011-05-28 15:00:17 +0100
commit5726ec171bf7cb833f8445d9a294f23fc047a549 (patch)
treeacf32c906947551969ec5a71e984d6553c1a9a70
parenta84f82560e3fa6aa41de64b0a5b75d1d607599aa (diff)
downloadffmpeg-5726ec171bf7cb833f8445d9a294f23fc047a549.tar.gz
ARM: add "cc" clobbers to inline asm where needed
Signed-off-by: Mans Rullgard <mans@mansr.com>
-rw-r--r--libavcodec/arm/aac.h2
-rw-r--r--libavcodec/arm/mathops.h3
-rw-r--r--libavcodec/arm/vp56_arith.h6
3 files changed, 7 insertions, 4 deletions
diff --git a/libavcodec/arm/aac.h b/libavcodec/arm/aac.h
index e907c9ea25..8355e9c193 100644
--- a/libavcodec/arm/aac.h
+++ b/libavcodec/arm/aac.h
@@ -128,7 +128,7 @@ static inline float *VMUL4S(float *dst, const float *v, unsigned idx,
: "=&r"(v0), "=&r"(v1), "=&r"(v2), "=&r"(v3), "+r"(dst),
"+r"(sign), "=r"(nz)
: "r"(v), "r"(idx), "r"(scale)
- : "d0", "d1", "d2", "d3", "d4", "d5");
+ : "cc", "d0", "d1", "d2", "d3", "d4", "d5");
return dst;
}
diff --git a/libavcodec/arm/mathops.h b/libavcodec/arm/mathops.h
index 1fce8e3267..858e73d677 100644
--- a/libavcodec/arm/mathops.h
+++ b/libavcodec/arm/mathops.h
@@ -107,7 +107,8 @@ static inline av_const int mid_pred(int a, int b, int c)
"cmp %0, %1 \n\t"
"movgt %0, %1 \n\t"
: "=&r"(m), "+r"(a)
- : "r"(b), "r"(c));
+ : "r"(b), "r"(c)
+ : "cc");
return m;
}
diff --git a/libavcodec/arm/vp56_arith.h b/libavcodec/arm/vp56_arith.h
index 0591d614a9..8785a77860 100644
--- a/libavcodec/arm/vp56_arith.h
+++ b/libavcodec/arm/vp56_arith.h
@@ -48,7 +48,8 @@ static inline int vp56_rac_get_prob_armv6(VP56RangeCoder *c, int pr)
: "=&r"(c->high), "=&r"(c->code_word), "=&r"(bit),
"+&r"(c->bits), "+&r"(c->buffer)
: "r"(high), "r"(pr), "r"(c->end - 1),
- "0"(shift), "1"(code_word));
+ "0"(shift), "1"(code_word)
+ : "cc");
return bit;
}
@@ -74,7 +75,8 @@ static inline int vp56_rac_get_prob_branchy_armv6(VP56RangeCoder *c, int pr)
"lsl %2, %0, #16 \n"
: "=&r"(low), "+&r"(code_word), "=&r"(tmp),
"+&r"(c->bits), "+&r"(c->buffer)
- : "r"(high), "r"(pr), "r"(c->end - 1), "0"(shift));
+ : "r"(high), "r"(pr), "r"(c->end - 1), "0"(shift)
+ : "cc");
if (code_word >= tmp) {
c->high = high - low;