• Christopher Degawa's avatar
    get_cabac_inline_x86: Don't inline the assembly function on 32 bit · 182663a5
    Christopher Degawa authored
    While the inline cabac assembly has worked correctly in i386 builds
    historically, modern compiler updates has started showing issues
    with it, when the function gets inlined into larger contexts that
    fail to provide the amount of free registers as this function
    requires.
    
    This was an issue with Clang on Windows on i386, which was fixed
    in c6d284b945324a7bc70ea8b9056040c8148aa835. However, recently
    the same issues also have started showing up with GCC (both for
    Windows and Linux). Whether the issue appears seems dependent on
    a lot of optimizer tuning (e.g. the issue appears or goes away
    depenent on the combinaton of -march= and -mtune= options),
    potentially due to the compiler making different decisions on
    how much to inline.
    
    Fixes: https://trac.ffmpeg.org/ticket/8903Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
    182663a5
cabac.h 13.9 KB