[FFmpeg-devel] The state of FATE

matthieu castet castet.matthieu
Sun Nov 1 16:57:53 CET 2009


matthieu castet <castet.matthieu <at> free.fr> writes:

> 
> M?ns Rullg?rd <mans <at> mansr.com> writes:
> 
> > x86_32
> > ------
> > Linux, llvm svn 79390: all tests pass
> > - Using --arch=c, why?
> 
> > x86_64
> > ------
> > 
> > Linux, llvm svn 79390: all pass
> > - Using --arch=c, why?
> > 
> 
> Because llvm had a broken asm inline support.
> May be we could try newer version (last 2.6 release) to check 
> if situation improved.
> 
After a quick test, clang :
- doesn't like 64 bits configure test 'int test[sizeof(char*) - 7];'. This is
because 'sizeof(char*) - 7' is seen as a unsigned integer (even on gcc) and it
allocates a very big array !
- gets "Ran out of registers" error [1]


[1]
clang -DHAVE_AV_CONFIG_H -I. -I"/tmp/ffmpeg" -D_ISOC99_SOURCE
-D_POSIX_C_SOURCE=200112 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -std=c99
-fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch
-Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign
-Wcast-qual -Wwrite-strings -Wtype-limits -Wundef -O3 -fno-math-errno
-fno-signed-zeros -Qunused-arguments       -MMD -c -o
libavcodec/x86/mpegvideo_mmx.o libavcodec/x86/mpegvideo_mmx.c
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              
	>, 10, %EAX<def>, 9, %reg1346<kill>, 9, %reg1299<kill>, 9, %reg1343<kill>, 9,
%reg1341<kill>, 9, %reg1344<kill>, 2147483657, %EAX, 14,
%EFLAGS<earlyclobber,def,dead> [dbg:
/tmp/ffmpeg/libavcodec/x86/mpegvideo_mmx_template.c,152,9]






More information about the ffmpeg-devel mailing list