[LLVMdev] Register Allocation ERROR! Ran out of registers during register allocation!

Liu proljc at gmail.com
Sun Aug 1 20:19:36 PDT 2010


Hi all,
My Machine environment is Clang-2.8-svn on Linux-x86. When I build
ffmpeg-0.6 using Clang, error output:

CC      libavcodec/x86/mpegvideo_mmx.o
fatal error: error in backend: Ran out of registers during register
allocation!
Please check your inline asm statement for invalid constraints:
INLINEASM <es:movd %eax, %xmm3
        pshuflw $$0, %xmm3, %xmm3
        punpcklwd %xmm3, %xmm3
        pxor %xmm7, %xmm7
        pxor %xmm4, %xmm4
        movdqa ($2), %xmm5
        pxor %xmm6, %xmm6
        psubw ($3), %xmm6
        mov $$-128, %eax
        .align 1 << 4
        1:
        movdqa ($1, %eax), %xmm0
        movdqa %xmm0, %xmm1
        pabsw  %xmm0, %xmm0
        psubusw %xmm6, %xmm0
        pmulhw %xmm5, %xmm0
        por %xmm0, %xmm4
        psignw %xmm1, %xmm0
        movdqa %xmm0, ($5, %eax)
        pcmpeqw %xmm7, %xmm0
        movdqa ($4, %eax), %xmm1
        movdqa %xmm7, ($1, %eax)
        pandn %xmm1, %xmm0
        pmaxsw %xmm0, %xmm3
        add $$16, %eax
         js 1b
        movhlps %xmm3, %xmm0
        pmaxsw %xmm0, %xmm3
        pshuflw $$0x0E, %xmm3, %xmm0
        pmaxsw %xmm0, %xmm3
        pshuflw $$0x01, %xmm3, %xmm0
        pmaxsw %xmm0, %xmm3
        movd %xmm3, %eax
        movzb %al, %eax
        >, 0, 10, %EAX<imp-def>, 9, %reg1303<kill>, 9, %reg1308, 9,
%reg1297<kill>, 9, %reg1299<kill>, 9, %reg1300<kill>, 2147483657, %EAX, 14,
%EFLAGS<earlyclobber,imp-def,dead>, <!-1>; GR32:%reg1303,1308,1297,1299,1300
dbg:/home/liujia/ffmpeg-0.6/libavcodec/x86/mpegvideo_mmx_template.c:152:9

make: *** [libavcodec/x86/mpegvideo_mmx.o] Error 1
*
*
Fast register allocator and Linear scan get the same error.

regards,
Yours.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100802/63dc2a3f/attachment.html>


More information about the llvm-dev mailing list