renorm_cabac_decoder_once START/STOP_TIMER scores for athlon

Originally committed as revision 6581 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Michael Niedermayer 18 years ago
parent 87ea51e0b5
commit 4310580db5
  1. 12
      libavcodec/cabac.h

@ -300,7 +300,7 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
#ifdef ARCH_X86
int temp;
#if 0
//P3:683
//P3:683 athlon:475
asm(
"lea -0x2000000(%0), %2 \n\t"
"shr $31, %2 \n\t" //FIXME 31->63 for x86-64
@ -309,7 +309,7 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
: "+r"(c->range), "+r"(c->low), "+c"(temp)
);
#elif 0
//P3:680
//P3:680 athlon:474
asm(
"cmp $0x2000000, %0 \n\t"
"setb %%cl \n\t" //FIXME 31->63 for x86-64
@ -319,7 +319,7 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
);
#elif 1
int temp2;
//P3:665
//P3:665 athlon:517
asm(
"lea -0x2000000(%0), %%eax \n\t"
"cdq \n\t"
@ -332,7 +332,7 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
);
#elif 0
int temp2;
//P3:673
//P3:673 athlon:509
asm(
"cmp $0x2000000, %0 \n\t"
"sbb %%edx, %%edx \n\t"
@ -345,7 +345,7 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
);
#else
int temp2;
//P3:677
//P3:677 athlon:511
asm(
"cmp $0x2000000, %0 \n\t"
"lea (%0, %0), %%eax \n\t"
@ -356,7 +356,7 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
);
#endif
#else
//P3:675
//P3:675 athlon:476
int shift= (uint32_t)(c->range - (0x200 << CABAC_BITS))>>31;
c->range<<= shift;
c->low <<= shift;

Loading…
Cancel
Save