Kostya <[email protected]> writes: > On Mon, Jun 20, 2011 at 10:55:16AM +0100, Mans Rullgard wrote: >> Signed-off-by: Mans Rullgard <[email protected]> >> --- >> libavcodec/cabac.h | 16 ++++++++-------- >> 1 files changed, 8 insertions(+), 8 deletions(-) >> >> diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h >> index f2b07d6..b967da5 100644 >> --- a/libavcodec/cabac.h >> +++ b/libavcodec/cabac.h >> @@ -310,7 +310,7 @@ static inline void >> renorm_cabac_decoder_once(CABACContext *c){ >> static av_always_inline int get_cabac_inline(CABACContext *c, uint8_t * >> const state){ >> //FIXME gcc generates duplicate load/stores for c->low and c->range >> #if ARCH_X86 && HAVE_7REGS && !defined(BROKEN_RELOCATIONS) >> - int bit, low, tmp; >> + int bit, low, range, tmp; >> >> #if HAVE_FAST_CMOV >> #define BRANCHLESS_GET_CABAC_UPDATE(ret, cabac, statep, low, lowword, >> range, tmp)\ >> @@ -370,17 +370,17 @@ static av_always_inline int >> get_cabac_inline(CABACContext *c, uint8_t * const st >> "1: >> \n\t" >> >> __asm__ volatile( >> - "movl %a5(%4), %%esi \n\t" >> - "movl %a6(%4), %1 \n\t" >> - BRANCHLESS_GET_CABAC("%0", "%4", "(%3)", "%1", "%w1", "%%esi", >> "%2", "%b2", "%a7") >> - "movl %%esi, %a5(%4) \n\t" >> - "movl %1, %a6(%4) \n\t" >> + "movl %a6(%5), %2 \n\t" >> + "movl %a7(%5), %1 \n\t" >> + BRANCHLESS_GET_CABAC("%0", "%5", "(%4)", "%1", "%w1", "%2", "%3", >> "%b3", "%a8") >> + "movl %2, %a6(%5) \n\t" >> + "movl %1, %a7(%5) \n\t" >> >> - :"=&a"(bit), "=&r"(low), "=&r"(tmp) >> + :"=&a"(bit), "=&r"(low), "=&r"(range), "=&r"(tmp) >> :"r"(state), "r"(c), >> "i"(offsetof(CABACContext, range)), "i"(offsetof(CABACContext, >> low)), >> "i"(offsetof(CABACContext, bytestream)) >> - : "%"REG_c, "%esi", "memory" >> + : "%"REG_c, "memory" >> ); >> bit&=1; >> #else /* ARCH_X86 && HAVE_7REGS && !defined(BROKEN_RELOCATIONS) */ >> -- > > looks ok, maybe it's better to merge it with the previous patch though?
I split these for ease of review. Merging them all would make the diff impenetrable. -- Måns Rullgård [email protected] _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
