[libav-bugs] [Bug 898] New: register allocation errors

bugzilla-daemon at libav.org bugzilla-daemon at libav.org
Wed Oct 14 00:54:40 CEST 2015


https://bugzilla.libav.org/show_bug.cgi?id=898

            Bug ID: 898
           Summary: register allocation errors
           Product: Libav
           Version: git HEAD
          Hardware: X86
                OS: All
            Status: NEW
          Severity: normal
          Priority: ---
         Component: general
          Assignee: bugzilla at libav.org
          Reporter: michael.kostylev at gmail.com

Some x86_32 configurations are affected by register starvation when inline
assembly is enabled. A simple example is here:
https://fate.libav.org/x86_32-freebsd-clang/20151013195346

/home/mik/src/fate/src/libavcodec/x86/ac3dsp_init.c:157:9: error: ran out of
registers during register allocation
        MIX5(IF0, IF1);

Actually, the compiler can not allocate 7 registers but the HAVE_7REGS macro
suggests that it should do so.

libavutil/x86/asm.h:#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE &&
HAVE_EBP_AVAILABLE))

It turns out the last expression is too optimistic. Probably, this is a task
for the configure script to detect whether a compiler can allocate 7 registers
or not.

-- 
You are receiving this mail because:
You are watching all bug changes.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.libav.org/pipermail/libav-bugs/attachments/20151013/ade39d36/attachment-0001.html>


More information about the libav-bugs mailing list