[MPlayer-dev-eng] libfaad2 cannot be compiled with gcc 3.2.3 and "-mfpmath=sse"

Arpi arpi at thot.banki.hu
Sun Aug 31 13:06:40 CEST 2003


Hi,

> I cannot compile today's mplayer CVS, the compilation stopped at the newly 
> added libfaad2 library, and I found when I remove "-mfpmath=sse" in the 
> CFLAGS in config.mak, it can be compiled with a warning:
> 
> =================
> /usr/local/bin/gcc -c -I. -O4 -march=pentium3 -mcpu=pentium3 -pipe -ffast-math 
> -fomit-frame-pointer -mmmx -msse -D_REENTRANT -D_LARGEFILE_SOURCE 
> -D_FILE_OFFSET_BITS=64  -o cfft.o cfft.c
> cfft.c:556:2: warning: no newline at end of file
> =================

since there is no -mfpmath=sse in ./configure, it must come from outside, so
then you should get this message while running configure:

-------------
MPlayer compilation will use the CFLAGS set by you, but:

    *** ***  DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK!  *** ***

It is strongly recommended to let MPlayer choose the correct CFLAGS!
To do so, execute 'CFLAGS= ./configure <options>'
-------------

also, bugreports should not go to -dev-eng list anyway.

> If compile it with "-mfpmath=sse", I got these Erros:
> 
> =================
> /usr/local/bin/gcc -c -I. -O2 -march=pentium3 -mcpu=pentium3 -pipe -ffast-math 
> -fomit-frame-pointer -mmmx -msse -mfpmath=sse -D_REENTRANT 

yes this is clearly not our CFLAGS!
-mmmx -msse is a bad idea for mplayer, the vector operands are already
optimzied so letting gcc use mmx/sse for others will only cause trouble by
taking the free registers.

> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -o cfft.o cfft.c
> cfft.c:556:2: warning: no newline at end of file
> cfft.c: In function `passf2':
> cfft.c:95: unable to find a register to spill in class `SSE_REGS'
> cfft.c:95: this is the insn:
> (insn 195 193 200 (set (subreg:SF (reg/v:DI 29 rmm0 [94]) 0)
>         (minus:SF (reg:SF 21 exmm0 [104])
>             (mem:SF (plus:SI (mult:SI (reg:SI 0 eax [95])
>                         (const_int 8 [0x8]))
>                     (reg/v/f:SI 4 esi [62])) [4 S4 A32]))) 547 {*fop_sf_1_sse} 
> (insn_list 190 (nil))
>     (expr_list:REG_DEAD (reg:SF 21 exmm0 [104])
>         (nil)))
> cfft.c:95: confused by earlier errors, bailing out

also this looks like compiler bug, not mplayer bug.
report to gcc authors, but since 3.2.3 is not the latest, it's maybe already
fixed in 3.3.x.


A'rpi / Astral & ESP-team

--
Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu



More information about the MPlayer-dev-eng mailing list