get_cabac_inline_x86: workaround clang bug with disabled optimizations
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 13 Sep 2012 20:24:47 +0000 (22:24 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 17 Sep 2012 22:45:29 +0000 (00:45 +0200)
gcc produces binary identical output relative to before this change

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/x86/cabac.h

index dbac83f..35f4ca7 100644 (file)
@@ -174,11 +174,12 @@ static av_always_inline int get_cabac_inline_x86(CABACContext *c,
                              AV_STRINGIFY(H264_LPS_RANGE_OFFSET),
                              AV_STRINGIFY(H264_MLPS_STATE_OFFSET),
                              "%8")
-        : "=&r"(bit), "+&r"(c->low), "+&r"(c->range), "=&q"(tmp)
+        : "=&r"(bit), "=&r"(c->low), "=&r"(c->range), "=&q"(tmp)
         : "r"(state), "r"(c),
           "i"(offsetof(CABACContext, bytestream)),
           "i"(offsetof(CABACContext, bytestream_end))
           TABLES_ARG
+          ,"1"(c->low), "2"(c->range)
         : "%"REG_c, "memory"
     );
     return bit & 1;