Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 11779 - xine-lib 1.0 alpha2 does not compile with -march=pentium4
Summary: xine-lib 1.0 alpha2 does not compile with -march=pentium4
Status: VERIFIED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Nick Hadaway
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-12-08 10:39 UTC by Clemens Oertel
Modified: 2003-11-27 21:59 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Clemens Oertel 2002-12-08 10:39:24 UTC
Compiler: gcc (GCC) 3.2.1
System: 2.4.19-gentoo-r7
CPU: i686 Intel(R) Pentium(R) 4 Mobile CPU 1.60GHz

On my system, xine-lib cannot be compiled with the -march=pentium4 compiler option; however, -mcpu=pentium4 works fine.

The -march=pentium4 cause the following assembler error:

i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -I../../src -I../../src/xine-engine -I../../src/xine-utils -std=gnu89 -march=pentium4 -O3 -pipe -fomit-frame-pointer -Wall -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -O3 -pipe -fomit-frame-pointer -falign-functions=4 -falign-loops=4 -falign-jumps=4 -mpreferred-stack-boundary=2 -fexpensive-optimizations -fschedule-insns2 -fno-strict-aliasing -ffast-math -funroll-loops -finline-functions -mmmx -mcpu=pentiumpro -I/usr/kde/3/include/artsc -c demux_roq.c -MT demux_roq.lo -MD -MP -MF .deps/demux_roq.TPlo  -DPIC -o demux_roq.lo
{standard input}: Assembler messages:
{standard input}:3113: Error: suffix or operands invalid for `movd'
{standard input}:3526: Error: suffix or operands invalid for `movd'
{standard input}:3564: Error: suffix or operands invalid for `movd'
{standard input}:3924: Error: suffix or operands invalid for `movd'
make[3]: *** [demux_qt.lo] Error 1

The optimization level does not seem to play a role.
Comment 1 Clemens Oertel 2002-12-12 18:44:30 UTC
Same thing happens with the beta0 ebuild. Works with mcpu=pentium4, but not 
with march=pentium4

Comment 2 Pat Double 2002-12-14 07:59:29 UTC
Same here. This is because -march=pentium4 uses pentium4 instructions (and sse2 instructions) whereas -mcpu=pentium4 uses 386 instructions but schedules the pipeline for pentium4.  What you want to do is compile with -march=pentium3 and that should give good optimizations. The ebuild will need to be changed to change pentium4 to pentium3. 
Comment 3 Nick Hadaway 2002-12-22 02:04:22 UTC
Have you tried this with the latest glibc-2.3.1, binutils 2.13.90.0.16, and 
gcc-3.2.1?
Comment 4 Clemens Oertel 2002-12-24 07:30:04 UTC
Yes, I have the latest versions installed. Still the same error message.
Comment 5 Nick Hadaway 2002-12-25 03:33:49 UTC
It appears that xine-lib is adding conflicting flags with your
-march=pentium4... i see a -mcpu=pentiumpro in your log paste
I'll take a look through the code and see if I can strip out
the invalid information
Comment 6 Nick Hadaway 2002-12-25 04:08:16 UTC
xine-lib 1.0 beta1 has been added to portage and I have updated
the ebuild to remove {C,CXX}FLAGS as configure sets very specific
optimization settings already.  This should resolve your compile
problem.  Please test and mark this bug RESOLVED VERIFIED if things
work for you and REOPEN the bug if you still experience problems and
paste your error output.
Comment 7 Clemens Oertel 2002-12-27 08:55:34 UTC
thx