• Frank Barchard's avatar
    android_full_debug x86 fix - use +rm for width count · fd3e676e
    Frank Barchard authored
    Work around for android full debug build runnign out of registers.
    5 functions were running out of registers causing the compiler error
    error: 'asm' operand has impossible constraints
    These functions mostly have 4 pointers, a counter (width) and a tempory
    eax register.  With fpic and debug using stackframes, 2 registers are
    unavailable.  So a total of 8 registers are used.
    Although fpic and stack frame dont apply to assembly, the compiler
    reserves 2 registers.  The optimized version builds, so its likely
    freeing up the registers once it knows they are not used.
    These functions used to build, so compile options and/or compiler may
    have updated.. likely fpic was turned on.
    An attribute can be done to disable each, and will avoid using the
    2 GPR registers, but they are still reserved and unavailable in debug
    builds on current compilers (gcc 4.9 and clang 3.8).
    
    R=dhrosa@google.com
    BUG=libyuv:602
    
    Review URL: https://codereview.chromium.org/2066933002 .
    fd3e676e
row_gcc.cc 231 KB