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
