Commit 9ed92c65 authored by Michael Niedermayer's avatar Michael Niedermayer

moving another bit&1 out, this is as fast as with it in there, but it makes...

moving another bit&1 out, this is as fast as with it in there, but it makes more sense with it outside of the loop

Originally committed as revision 6618 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent ee56f2c0
...@@ -441,12 +441,11 @@ static int get_cabac(CABACContext *c, uint8_t * const state){ ...@@ -441,12 +441,11 @@ static int get_cabac(CABACContext *c, uint8_t * const state){
"2: \n\t" "2: \n\t"
"movl %%edx, "RANGE "(%2) \n\t" "movl %%edx, "RANGE "(%2) \n\t"
"movl %%ebx, "LOW "(%2) \n\t" "movl %%ebx, "LOW "(%2) \n\t"
"andl $1, %%eax \n\t"
:"=&a"(bit) //FIXME this is fragile gcc either runs out of registers or misscompiles it (for example if "+a"(bit) or "+m"(*state) is used :"=&a"(bit) //FIXME this is fragile gcc either runs out of registers or misscompiles it (for example if "+a"(bit) or "+m"(*state) is used
:"r"(state), "r"(c) :"r"(state), "r"(c)
: "%ecx", "%ebx", "%edx", "%esi" : "%ecx", "%ebx", "%edx", "%esi"
); );
bit&=1;
#else #else
asm volatile( asm volatile(
"movzbl (%1), %%eax \n\t" "movzbl (%1), %%eax \n\t"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment