Mercurial > libavcodec.hg
diff cabac.h @ 3999:6cbad3675632 libavcodec
slightly faster on P3 slightly slower on athlon and probably faster on P4
author | michael |
---|---|
date | Wed, 11 Oct 2006 17:59:40 +0000 |
parents | c4ff7d570f19 |
children | 34fdffe98bd0 |
line wrap: on
line diff
--- a/cabac.h Wed Oct 11 17:14:02 2006 +0000 +++ b/cabac.h Wed Oct 11 17:59:40 2006 +0000 @@ -382,10 +382,20 @@ "subl %%esi, %%edx \n\t" "cmpl %%edx, %%ebx \n\t" " ja 1f \n\t" + +#if 1 + //athlon:4067 P3:4110 + "lea -0x2000000(%%edx), %%ecx \n\t" + "shr $31, %%ecx \n\t" + "shl %%cl, %%edx \n\t" + "shl %%cl, %%ebx \n\t" +#else + //athlon:4057 P3:4130 "cmp $0x2000000, %%edx \n\t" //FIXME avoidable "setb %%cl \n\t" "shl %%cl, %%edx \n\t" "shl %%cl, %%ebx \n\t" +#endif "movzbl "MANGLE(ff_h264_mps_state)"(%%eax), %%ecx \n\t" "movb %%cl, (%1) \n\t" //eax:state ebx:low, edx:range, esi:RangeLPS