1 |
On Wednesday 27 September 2006 07:50, Daniel Iliev wrote: |
2 |
|
3 |
> |
4 |
> 1) I use CFLAGS="-march=athlon64 -mfpmath=sse -msse -msse2 -msse3 |
5 |
> -m3dnow -mmmx -O3 -fomit-frame-pointer -pipe -fpic". P |
6 |
|
7 |
-mfpmath=sse not needed. amd64 uses sse for math by default. remove that flag |
8 |
-msse not needed, see above |
9 |
-msse2 not needed, see above |
10 |
-msse3 can be set, but only if your CPU supports it. Not all CPUs do. |
11 |
Check /proc/cpuinfo for 'pni' |
12 |
-m3dnow just no. sse supersedes it. Also it is a '32bit flag' |
13 |
-mmmx see above |
14 |
-O3 don't do it. O2 is much, much safer and not really slower. It will prevent |
15 |
a lot of breakage. |
16 |
-fomit-frame-pointer not needed |
17 |
-pipe a good flag |
18 |
-fpic NO! Really, really really no! Don't do it! It is just wrong. Stop it |
19 |
now! This flag is not needed! Even for prelink on 32bit it was never needed |
20 |
(because everything that could compiled with that flag set it anyway). |
21 |
Please, read the documentation and remove that flag ASAP. |
22 |
|
23 |
so, march=k8 -O2 -pipe |
24 |
would be the result, if you remove all superflous and dangerous flags. |
25 |
|
26 |
|
27 |
> |
28 |
> 2) I see too many flags that are disabled by the profile - the kind with |
29 |
> the parenthesis around them, like "(-3dnow)". Why? As I mentioned above |
30 |
> I enable some of these through my CFLAGS - e.g. (-mmx), (-mmxext), |
31 |
> (-sse) and (-sse2) and everything works perfect. |
32 |
|
33 |
because 3dnow, mmx&co are useflags for 32bit code that was optimized for that |
34 |
extensions. If you use that code in 64bit apps, certain breakage is the |
35 |
result. And if something does not break, it will be A LOT slower. |
36 |
|
37 |
Don't use that flags. They are bad for amd64. Trust the devs, they know better |
38 |
than you or me. |
39 |
-- |
40 |
gentoo-amd64@g.o mailing list |