[MPlayer-dev-eng] [PATCH] SSE version of DCT64 for mp3lib

Guillaume POIRIER poirierg at gmail.com
Thu Jun 22 23:44:02 CEST 2006


Hi,

On 6/22/06, Guillaume POIRIER <poirierg at gmail.com> wrote:

> > Or you can stick to the C version under x86-64. Of course it's still
> > fast enough on concurrent CPUs.
>
> Hehe: it's very funny: the C version is the only thing that gets built on AMD64:
> ~/mplayer/mp3lib$ make
> /usr/lib/gcc-snapshot/bin/gcc -c -I.. -I../libvo -I../../libvo  -O4
> -march=k8 -mtune=k8 -pipe -ffast-math -fomit-frame-pointer
> -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64   -o sr1.o
> sr1.c
> ar r libMP3.a sr1.o
> true libMP3.a
>
> Looks like you put a finger on an interesting issue. I'll have a look
> at it later this week-end, hopefully.

This was obviously run on a unbuilt tree.

On IA32:

make clean
rm -f *~ *.o *.a test1 test2
guillaume at moonlight:~/mplayer/mp3lib$ make
/usr/lib/gcc-snapshot/bin/gcc -c -I.. -I../libvo -I../../libvo
-fno-PIC -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math
-fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64   -o sr1.o sr1.c
/usr/lib/gcc-snapshot/bin/gcc -c -I.. -I../libvo -I../../libvo
-fno-PIC -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math
-fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64   -fomit-frame-pointer -o decode_i586.o
decode_i586.c
/usr/lib/gcc-snapshot/bin/gcc -c -I.. -I../libvo -I../../libvo
-fno-PIC -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math
-fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64   -o decode_MMX.o decode_MMX.c
/usr/lib/gcc-snapshot/bin/gcc -c -I.. -I../libvo -I../../libvo
-fno-PIC -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math
-fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64   -o dct64_MMX.o dct64_MMX.c
{standard input}: Assembler messages:
{standard input}:14: Warning: missing operand; zero assumed
/usr/lib/gcc-snapshot/bin/gcc -c -I.. -I../libvo -I../../libvo
-fno-PIC -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math
-fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64   -o tabinit_MMX.o tabinit_MMX.c
/usr/lib/gcc-snapshot/bin/gcc -c -I.. -I../libvo -I../../libvo
-fno-PIC -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math
-fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64   -o dct36_3dnow.o dct36_3dnow.c
/usr/lib/gcc-snapshot/bin/gcc -c -I.. -I../libvo -I../../libvo
-fno-PIC -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math
-fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64   -o dct64_3dnow.o dct64_3dnow.c
{standard input}: Assembler messages:
{standard input}:13: Warning: missing operand; zero assumed
/usr/lib/gcc-snapshot/bin/gcc -c -I.. -I../libvo -I../../libvo
-fno-PIC -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math
-fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64   -o dct36_k7.o dct36_k7.c
/usr/lib/gcc-snapshot/bin/gcc -c -I.. -I../libvo -I../../libvo
-fno-PIC -O4 -march=pentium-m -mtune=pentium-m -pipe -ffast-math
-fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64   -o dct64_k7.o dct64_k7.c
{standard input}: Assembler messages:
{standard input}:13: Warning: missing operand; zero assumed
ar r libMP3.a sr1.o decode_i586.o decode_MMX.o dct64_MMX.o
tabinit_MMX.o dct36_3dnow.o dct64_3dnow.o dct36_k7.o dct64_k7.oar:
creating libMP3.a
true libMP3.a
guillaume at moonlight:~/mplayer/mp3lib$

So it looks like things could greatly improved on AMD64.

Guillaume
-- 
"If God had wanted us to vote, he would have given us candidates."
  - Jay Leno



More information about the MPlayer-dev-eng mailing list