ARM: add "cc" clobbers to inline asm where needed

Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
Mans Rullgard
2011-05-27 21:59:46 +01:00
parent a84f82560e
commit 5726ec171b
3 changed files with 7 additions and 4 deletions

View File

@@ -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"(v0), "=&r"(v1), "=&r"(v2), "=&r"(v3), "+r"(dst),
"+r"(sign), "=r"(nz) "+r"(sign), "=r"(nz)
: "r"(v), "r"(idx), "r"(scale) : "r"(v), "r"(idx), "r"(scale)
: "d0", "d1", "d2", "d3", "d4", "d5"); : "cc", "d0", "d1", "d2", "d3", "d4", "d5");
return dst; return dst;
} }

View File

@@ -107,7 +107,8 @@ static inline av_const int mid_pred(int a, int b, int c)
"cmp %0, %1 \n\t" "cmp %0, %1 \n\t"
"movgt %0, %1 \n\t" "movgt %0, %1 \n\t"
: "=&r"(m), "+r"(a) : "=&r"(m), "+r"(a)
: "r"(b), "r"(c)); : "r"(b), "r"(c)
: "cc");
return m; return m;
} }

View File

@@ -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->high), "=&r"(c->code_word), "=&r"(bit),
"+&r"(c->bits), "+&r"(c->buffer) "+&r"(c->bits), "+&r"(c->buffer)
: "r"(high), "r"(pr), "r"(c->end - 1), : "r"(high), "r"(pr), "r"(c->end - 1),
"0"(shift), "1"(code_word)); "0"(shift), "1"(code_word)
: "cc");
return bit; return bit;
} }
@@ -74,7 +75,8 @@ static inline int vp56_rac_get_prob_branchy_armv6(VP56RangeCoder *c, int pr)
"lsl %2, %0, #16 \n" "lsl %2, %0, #16 \n"
: "=&r"(low), "+&r"(code_word), "=&r"(tmp), : "=&r"(low), "+&r"(code_word), "=&r"(tmp),
"+&r"(c->bits), "+&r"(c->buffer) "+&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) { if (code_word >= tmp) {
c->high = high - low; c->high = high - low;