[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