#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
: "+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
);
#elif 1
int temp2;
- //P3:665
+ //P3:665 athlon:517
asm(
"lea -0x2000000(%0), %%eax \n\t"
"cdq \n\t"
);
#elif 0
int temp2;
- //P3:673
+ //P3:673 athlon:509
asm(
"cmp $0x2000000, %0 \n\t"
"sbb %%edx, %%edx \n\t"
);
#else
int temp2;
- //P3:677
+ //P3:677 athlon:511
asm(
"cmp $0x2000000, %0 \n\t"
"lea (%0, %0), %%eax \n\t"
);
#endif
#else
- //P3:675
+ //P3:675 athlon:476
int shift= (uint32_t)(c->range - (0x200 << CABAC_BITS))>>31;
c->range<<= shift;
c->low <<= shift;