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