I tried to emerge system last night while installing Gentoo on this new Inspiron 8600 (Pentium-M). I used the following CFLAGS="-march=pentium3 -mfpmath=sse -mmmx -msse -msse2 -Os -pipe -fschedule-insns2 -fexpensive-optimizations -fomit-frame-pointer" When emerging libperl, I get the following: CCCMD = gcc -DPERL_CORE -c -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=pentium3 -mmmx -msse -msse2 -mfpmath=sse -O2 -pipe -fschedule-insns2 -fexpensive-optimizations -fomit-frame-pointer -Wall {standard input}: Assembler messages: {standard input}:4360: Error: suffix or operands invalid for `movd' make: *** [gv.o] Error 1 make: *** Waiting for unfinished jobs.... !!! ERROR: sys-devel/libperl-5.8.0 failed. !!! Function src_compile, Line 235, Exitcode 2 !!! Unable to make libperl.so
Removing -msse did nothing to change the situation. Removing -mfpmath=sse -msse -msse2 and -mmmx worked.
Removing -mmmx didn't solve the problem (*only* removed -mmmx) Removing -mfpmath=sse didn't solve the problem (*only* removed -mfpmath=sse) EXACT CULPRIT FLAG FOUND: Removing -msse2 let it build. The following CFLAGS were supplied: "-march=pentium3 -msse -mfpath=sse -mmmx -Os -pipe -fschedule-insns2 -fexpensive-optimizations -fomit-frame-pointer" Hmm. This may be just a symptom of the Pentium-M Problem, i.e. Pentium-M is just a Pentium 3 Core with SSE2 and stuff bolted on. [as far as my reading goes.] Maybe GCC will support Pentium-M someday. My understanding is that the best performance comes with -march=pentium3. Ah well.
what if you append -mno-sse2 and/or -mno-sse also, you neglected to provide `emerge info` ... i emerge libperl on my machine with -march=pentium4 and have no problems (pentium4 implies mmx, sse, sse2)
Do we know if this combo (p3 + sse2) works on non-pentium M boxes? If it doesn't, we can just filter it for now, but I'd be surprised if it did. The specific combination should fail regardless of chip, unless I'm mistaken. Can someone with similar hardware (but not a p-M) test this combo and report back?
SSE2 support - The Pentium M supports MMX, SSE, and SSE2 instructions, though it won't support the 13 new instructions that will reportedly be incorporated into Intel's upcoming Prescott-core Pentium 4 desktop chip. sounds like you wont experience this bug with just libperl ... like the better solution would be for you to remove -msse2 from your CFLAGS until gcc catches up
Actually, I just emerged system, the 2.6.2-rc2-mm1 kernel, and ati-radeon drivers (and vim). Everything worked out great, all the way up from stage 1. I didn't enable PNI (the 13 new instructions), since I don't have a Prescott chip. As stated before, once I took the -msse2 flags out, libperl built just fine. Will send 'emerge info' later, when I have the laptop up the rest of the way.
xine-lib also has the same problem, fwiw. I've emerged my entire system now (with the -msse2), and only libperl and xine-lib have this problem thus far. I'll likely emerge some more packages, but it seems unlikely to affect many more.
you still havent given us `emerge info` ;)
Just thought I'd mention that I have a Dell Precision M60 with Pentium-M, and libperl built just fine on my box with arch=pentium3 and -msse2, but I had problems with gtk+-1.2.10-r11 and now with konqueror (part of kdebase-3.2.1). Emerging gtk+ without sse2 fixed it, and I have a feeling konqueror without sse2 will work too.
Closing a stale bug, could not find any later occurrence of this problem in bugzilla (except for Bug 86859), assuming fixed with up-to-date gcc versions; besides, emerge --info is still missing here anyway. ;p