<div>Hi all,</div><div>My Machine environment is Clang-2.8-svn on Linux-x86. When I build ffmpeg-0.6 using Clang, error output:</div><div><br></div><div>CC      libavcodec/x86/mpegvideo_mmx.o</div><div>fatal error: error in backend: Ran out of registers during register allocation!</div>



<div>Please check your inline asm statement for invalid constraints:</div><div>INLINEASM <es:movd %eax, %xmm3              </div>
<div>        pshuflw $$0, %xmm3, %xmm3       </div><div>        punpcklwd %xmm3, %xmm3         </div><div>        pxor %xmm7, %xmm7                  </div><div>        pxor %xmm4, %xmm4                  </div><div>        movdqa ($2), %xmm5                   </div>




<div>        pxor %xmm6, %xmm6                  </div><div>        psubw ($3), %xmm6                  </div><div>        mov $$-128, %eax               </div><div>        .align 1 << 4</div><div>        1:                                 </div>




<div>        movdqa ($1, %eax), %xmm0        </div><div>        movdqa %xmm0, %xmm1            </div><div>        pabsw  %xmm0, %xmm0            </div><div>        psubusw %xmm6, %xmm0               </div><div>        pmulhw %xmm5, %xmm0                </div>




<div>        por %xmm0, %xmm4                   </div><div>        psignw %xmm1, %xmm0            </div><div>        movdqa %xmm0, ($5, %eax)        </div><div>        pcmpeqw %xmm7, %xmm0               </div><div>        movdqa ($4, %eax), %xmm1        </div>




<div>        movdqa %xmm7, ($1, %eax)        </div><div>        pandn %xmm1, %xmm0                 </div><div>        pmaxsw %xmm0, %xmm3     </div><div>        add $$16, %eax      </div><div>         js 1b                             </div>




<div>        movhlps %xmm3, %xmm0           </div><div>        pmaxsw %xmm0, %xmm3     </div><div>        pshuflw $$0x0E, %xmm3, %xmm0    </div><div>        pmaxsw %xmm0, %xmm3     </div><div>        pshuflw $$0x01, %xmm3, %xmm0    </div>




<div>        pmaxsw %xmm0, %xmm3     </div><div>        movd %xmm3, %eax              </div><div>        movzb %al, %eax              </div><div>        >, 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</div>




<div><br></div><div>make: *** [libavcodec/x86/mpegvideo_mmx.o] Error 1</div><div><font face="'WenQuanYi Micro Hei'"><span style="font-size:medium"><i><br></i></span></font></div>
<div>Fast register allocator and Linear scan get the same error.</div><div><br></div><div><span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse;color:rgb(68, 68, 68)"><div>
<font face="Arial">regards,</font></div><div><font face="Arial">Yours.</font></div></span></div>