Browse Source

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

Signed-off-by: Mans Rullgard <mans@mansr.com>
tags/n0.8
Mans Rullgard 14 years ago
parent
commit
5726ec171b
3 changed files with 7 additions and 4 deletions
  1. +1
    -1
      libavcodec/arm/aac.h
  2. +2
    -1
      libavcodec/arm/mathops.h
  3. +4
    -2
      libavcodec/arm/vp56_arith.h

+ 1
- 1
libavcodec/arm/aac.h 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"(sign), "=r"(nz)
: "r"(v), "r"(idx), "r"(scale)
: "d0", "d1", "d2", "d3", "d4", "d5");
: "cc", "d0", "d1", "d2", "d3", "d4", "d5");
return dst;
}



+ 2
- 1
libavcodec/arm/mathops.h View File

@@ -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;
}



+ 4
- 2
libavcodec/arm/vp56_arith.h 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->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;


Loading…
Cancel
Save