On 9/26/06, Daniel Iliev <[EMAIL PROTECTED]> wrote:
Hello, everyone!

Hi :)

1) I use CFLAGS="-march=athlon64 -mfpmath=sse -msse -msse2 -msse3
-m3dnow -mmmx -O3 -fomit-frame-pointer -pipe -fpic". Portage complains
with *red letters* about the fpic flag. Every time I emerge something it
says that "fpic breaks things", but I haven't met a single breakage so
far. Is that a bug? Actually there was an ebuild which could not be
compiled if mysql was compiled w/o "fpic". I'm not 100% sure but AFAIR
it was dev-perl/DBD-mysql.

It is not necessary to tell gcc to use special instruction sets for
your processor.  When you specify -march gcc automatically knows
exactly what instructions your processor is capable of utilizing most
effectively.

I am not familiar with PIC, but if portage gives a big red warning
about explicitly enabling it in your CFLAGS I'm sure that there have
been problems with it.  If a package requires the flag then it should
enable it in its own local CFLAGS.

2) I see too many flags that are disabled by the profile - the kind with
the parenthesis around them, like "(-3dnow)". Why? As I mentioned above
I enable some of these through my CFLAGS - e.g. (-mmx), (-mmxext),
(-sse) and (-sse2) and everything works perfect.

A 3dnow instruction path isn't always the best optimization for every
user and every package.  Also, AMD's Athlon and Opteron processors are
not the only ones supported under the amd64 arch, there are also
Intel's x86-64 processors to consider.  While I imagine that Intel
processors can execute 3dnow instructions I also imagine that SSE
would be faster.
--
[email protected] mailing list

Reply via email to