From b99f3cabeddf98264fd73fd6757255220651ce62 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Wed, 11 Oct 2006 16:11:41 +0000
Subject: [PATCH] write cabac low and range variables as early as possible to
 prevent stalls from reading them before they where written, the P4 is said to
 disslike that alot, on P3 its 2% faster (START/STOP_TIMER over
 decode_residual)

Originally committed as revision 6657 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/cabac.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h
index c852aa539df..473e7cf84a3 100644
--- a/libavcodec/cabac.h
+++ b/libavcodec/cabac.h
@@ -478,8 +478,10 @@ static int get_cabac(CABACContext *c, uint8_t * const state){
 
         "shr $19, %%esi                         \n\t"
         "movzbl " MANGLE(ff_h264_norm_shift) "(%%esi), %%ecx   \n\t"
-        "shll %%cl, %%ebx                       \n\t"
         "shll %%cl, %%edx                       \n\t"
+        "movl %%edx, "RANGE    "(%2)            \n\t"
+        "shll %%cl, %%ebx                       \n\t"
+        "movl %%ebx, "LOW      "(%2)            \n\t"
         "test %%bx, %%bx                        \n\t"
         " jnz 1f                                \n\t"
 
@@ -500,9 +502,8 @@ static int get_cabac(CABACContext *c, uint8_t * const state){
 
         "shll %%cl , %%esi                      \n\t"
         "addl %%esi, %%ebx                      \n\t"
-        "1:                                     \n\t"
-        "movl %%edx, "RANGE    "(%2)            \n\t"
         "movl %%ebx, "LOW      "(%2)            \n\t"
+        "1:                                     \n\t"
         :"=&a"(bit)
         :"r"(state), "r"(c)
         : "%ecx", "%ebx", "%edx", "%esi"
-- 
GitLab