View previous topic :: View next topic |
Author |
Message |
SiggiS n00b
Joined: 18 May 2004 Posts: 36 Location: Germany
|
Posted: Tue May 25, 2004 4:51 pm Post subject: Which CFLAGS to you use to install gentoo-x86 on Athlon64 ? |
|
|
Hi,
Just thinkin about to install 32bit-gentoo on another partition. What are the best CFLAGS to you use to kick the last bit of performance out of the Athlon.
I wanted to give this one a try:
CFLAGS="-O3 -march=athlon-xp -pipe -fweb -frename-registers"
What do you say? I read here in the forum that several people already give it up install 64bit cause of several problems. What CFLAGS do you use to install 32bit?
Greetings Marc |
|
Back to top |
|
|
MrPixel Tux's lil' helper
Joined: 21 Apr 2004 Posts: 117 Location: Here & Now
|
|
Back to top |
|
|
SiggiS n00b
Joined: 18 May 2004 Posts: 36 Location: Germany
|
Posted: Thu May 27, 2004 6:34 am Post subject: |
|
|
I checked it out before, but I dont recognized a person who wants to install a gentoo-x86 on an Athlon64. So I made this thread, I thought there are more guys who are interrested in this.
Greetings Marc |
|
Back to top |
|
|
crazycat l33t
Joined: 26 Aug 2003 Posts: 838 Location: Hamburg, Germany
|
Posted: Thu May 27, 2004 11:01 am Post subject: |
|
|
Well if u buy one and give pretty much money for it u would want also to use its advantages.
The generic athlon flags would be fine and i am pretty much sure that the athlonxp optimizations would also apply to athlon64 in 32bit mode. When i baught my athlon64 i was able to boot into my tweakd athlonxp installation. I dont think its worth of much talking about unless u've got problems. |
|
Back to top |
|
|
ReeferMac Guru
Joined: 30 May 2004 Posts: 389
|
Posted: Sat Jun 12, 2004 12:10 pm Post subject: |
|
|
I'm with you Siggi...
I tried posting a thread and it got slammed into the dupe-folder w/ a link to this one (which has been real useful so far.. ).
Read the thread linked above too... lotsa talk about Athlon's but no 64 users that I could find?
- Mac |
|
Back to top |
|
|
jimbojetset n00b
Joined: 01 Feb 2004 Posts: 67 Location: UK
|
Posted: Sat Jun 12, 2004 4:56 pm Post subject: |
|
|
I use gcc 3.4.0-r6 currently on x86 with my amd64
Code: | CFLAGS="-march=k8 -mtune=k8 -O2 -pipe -fomit-frame-pointer" |
seems to be pretty solid with these although you could use -O3 -ftracer for most packages without causing problems I feel. |
|
Back to top |
|
|
Kugelfang Retired Dev
Joined: 28 Nov 2003 Posts: 25 Location: Witten, Germany
|
Posted: Sat Jun 12, 2004 5:14 pm Post subject: |
|
|
The recommended flags for 32bit installation on any (of the current) amd64 CPUs is
Code: | CFLAGS="-march=athlon-xp -msse2 -O2 -pipe -ftracer" |
This enables all the gimmicks that a 32bit mode amd64 has.
I'd also recommend you to not use "-march=k8" on a 32bit installation because
(a) only gcc-3.4 recognizes that, and -3.4 is not yet really ready for x86. But we already got a new dev who will care about that soon
(b) -march=k8 implies -m64. This makes no sense on a pure 64bit install and could result in odd bugs that noone can cope with. _________________ Danny van Dyk
Gentoo Developer
Gentoo/AMD64 Project, Gentoo Scientifc Project
kugelfang@gentoo.org |
|
Back to top |
|
|
ReeferMac Guru
Joined: 30 May 2004 Posts: 389
|
Posted: Sat Jun 12, 2004 9:02 pm Post subject: |
|
|
Thanks folks, but I'm really slow today, and still a bit confused.
I'd _like_ a 64-bit install, but if I'm reading KugelFang right, I can enable both?
- Mac |
|
Back to top |
|
|
RAPUL l33t
Joined: 29 Dec 2002 Posts: 664 Location: Valencia (SPAIN)
|
Posted: Sun Jun 13, 2004 11:11 am Post subject: Re: Which CFLAGS to you use to install gentoo-x86 on Athlon6 |
|
|
SiggiS wrote: | Hi,
I wanted to give this one a try:
CFLAGS="-O3 -march=athlon-xp -pipe -fweb -frename-registers"
|
gcc3.3 has not -fweb
gcc3.4 -O3 implies:
-fweb, -finline-functions and -frename-registers options.
So there is no need of typing -fweb and -frename-registers. And also it is not advisable. portage works different with these two lines. Gcc works the same, portage no.
Code: |
CFLAGS="-O3 -march=athlon-xp -pipe -fweb -frename-registers"
CFLAGS="-O3 -march=athlon-xp -pipe"
|
Athlon64 in 32 bits mode is as an Athlon-XP with SSE2, more registers, better scheduling and twice cache.
So mines are:
Code: |
CFLAGS="-O2 -march=athlon-xp -maccumulate-outgoing-args -ftracer -pipe -msse2 -fPIC"
CFLAGS="-O3 -march=athlon-xp -maccumulate-outgoing-args -ftracer -pipe -msse2 -fPIC"
|
_________________ Entropy rulz world.
Redundancy sux.
World is full of redundancy.
World sux. |
|
Back to top |
|
|
ReeferMac Guru
Joined: 30 May 2004 Posts: 389
|
Posted: Sun Jun 13, 2004 12:58 pm Post subject: |
|
|
OK, maybe I'm just being thick... I want 64 bit optimization, NOT 32-bit.
I have a feeling I'm missing something to the conversation here. I understand the cpu will 'pretend' it runs in 32-bit mode when it has to, but I want to set things to optimize as much as possible, for the fact that it's a 64-bit chip under the hood... I'll willing pay a performance hit when I have 32-bit only code.
Does that make my question clearer?
It sounds like what you're telling me is that the compile options do what I want, when it knows it's an AMD64-CPU (which is what the "x86_64-pc-linux-gnu" setting does), but this second option of
Quote: | CFLAGS="-march=athlon-xp -msse2 -O2 -pipe -ftracer" |
Makes it work 'better' when forced to use 32-bit mode?
Sorry, it's Sunday, my brain just isn't working this morning.
- Mac |
|
Back to top |
|
|
RAPUL l33t
Joined: 29 Dec 2002 Posts: 664 Location: Valencia (SPAIN)
|
Posted: Sun Jun 13, 2004 1:17 pm Post subject: ??? |
|
|
ReeferMac wrote: | OK, maybe I'm just being thick... I want 64 bit optimization, NOT 32-bit.
I have a feeling I'm missing something to the conversation here. I understand the cpu will 'pretend' it runs in 32-bit mode when it has to, but I want to set things to optimize as much as possible, for the fact that it's a 64-bit chip under the hood... I'll willing pay a performance hit when I have 32-bit only code.
Does that make my question clearer?
It sounds like what you're telling me is that the compile options do what I want, when it knows it's an AMD64-CPU (which is what the "x86_64-pc-linux-gnu" setting does), but this second option of
Quote: | CFLAGS="-march=athlon-xp -msse2 -O2 -pipe -ftracer" |
Makes it work 'better' when forced to use 32-bit mode?
Sorry, it's Sunday, my brain just isn't working this morning.
- Mac |
The tittle thread is quite clear:
Code: |
Which CFLAGS to you use to install gentoo-x86 on Athlon64 ?
|
gentoo-x86 is 32 bits only one.
gentoo-athlon64 is a 64 bits one which can have if you want a chrooted 32 bits environment.
Tittle says "CFLAGS to you use to install gentoo-x86 on Athlon64".
So tittle asks for which cflags use on an athlon64 for 32bits only environment.
Quote: | Hi,
Just thinkin about to install 32bit-gentoo on another partition. What are the best CFLAGS to you use to kick the last bit of performance out of the Athlon. |
Also he talks about installing a 32 bits gentoo (gentoo-x86) on another partition. So it is clear he wants what tittle says... _________________ Entropy rulz world.
Redundancy sux.
World is full of redundancy.
World sux. |
|
Back to top |
|
|
ReeferMac Guru
Joined: 30 May 2004 Posts: 389
|
Posted: Sun Jun 13, 2004 10:43 pm Post subject: |
|
|
Thanks for clearing that up Rapul (told you I was slow on Sundays).
So then why did the Admin close my thread and point it to here, when I asked what flags to use in an AMD64 situation? I'd like to optomize my system for 64-bits, not 32?
Thanks again.
- Mac |
|
Back to top |
|
|
RAPUL l33t
Joined: 29 Dec 2002 Posts: 664 Location: Valencia (SPAIN)
|
Posted: Mon Jun 14, 2004 1:08 am Post subject: Hmm... |
|
|
I think he closed your thread because there are so many CFLAGS thread...
It is better to search and read before post. (I am not saying you didn't... but many don't do)
CFLAGs is an eternal theme... on gentoo-forums.
Also, there is a CFLAGs central thread for all CFLAGs doubts. _________________ Entropy rulz world.
Redundancy sux.
World is full of redundancy.
World sux. |
|
Back to top |
|
|
ReeferMac Guru
Joined: 30 May 2004 Posts: 389
|
Posted: Mon Jun 14, 2004 10:34 am Post subject: |
|
|
Thanks Rapul I had dug through a couple threads on the matter (yes, search yielded many hits) but couldn't find anyone else interested in 64-bit optimization. The ONLY examples I could find were to optimize for when the chip runs in 32-bit mode (which is expressly what I DON'T want!)
Thanks again.
- Mac |
|
Back to top |
|
|
RAPUL l33t
Joined: 29 Dec 2002 Posts: 664 Location: Valencia (SPAIN)
|
Posted: Mon Jun 14, 2004 1:43 pm Post subject: Hmm... |
|
|
Then the only difference is
64 bits optimization needs a gcc which knows amd64 such as gcc3.3.3 or much better gcc3.4
Check man gcc for details on these recommended CFLAGS
Code: |
-march=k8
-mtune=k8
-ftracer
Perform tail duplication to enlarge superblock size. This transformation simplifies the control flow of the function
allowing other optimizations to do better job.
gcc3.4: -O3 = -O2 -finline-functions -frename-registers -fweb
gcc3.3: -O3 = -O2 -finline-functions -frename-registers
or just -O2
-fomit-frame-pointer
-maccumulate-outgoing-args
If enabled, the maximum amount of space required for outgoing arguments will be computed in the function prologue.
This is faster on most modern CPUs because of reduced dependencies, improved scheduling and reduced stack usage when
preferred stack boundary is not equal to 2. The drawback is a notable increase in code size. This switch implies
-mno-push-args.
-pipe
Use pipes rather than temporary files for communication between the various stages of compilation. This fails to
work on some systems where the assembler is unable to read from a pipe; but the GNU assembler has no trouble.
|
Do not put:
Code: |
-mmmx
-m3dnow
-msse
-msse2
-mfpmath=sse This is the default choice for the x86-64 compiler.
-mpreferred-stack-boundary=num, (4 bytes for x86, and 8 bytes for x86-64)
|
because x86_64 CHOST or k8 arch implies them...
Check it with a simple:
Code: |
gcc -v -Q $CFLAGS blah.c
|
Well you can play around with other CFLAGS but do it at your own risk.
Code: |
-fprefetch-loop-arrays
If supported by the target machine, generate instructions to prefetch memory to improve the performance of loops that
access large arrays.
-funroll-loops
Unroll loops whose number of iterations can be determined at compile time or upon entry to the loop. -funroll-loops
implies both -fstrength-reduce and -frerun-cse-after-loop. This option makes code larger, and may or may not make it
run faster.
-funroll-all-loops
Unroll all loops, even if their number of iterations is uncertain when the loop is entered. This usually makes pro-
grams run more slowly.
-mfpmath=sse,387
-ffast-math
|
_________________ Entropy rulz world.
Redundancy sux.
World is full of redundancy.
World sux. |
|
Back to top |
|
|
ReeferMac Guru
Joined: 30 May 2004 Posts: 389
|
Posted: Mon Jun 14, 2004 11:46 pm Post subject: |
|
|
Thank you very much.
- Mac |
|
Back to top |
|
|
gnudude n00b
Joined: 07 Dec 2004 Posts: 1
|
Posted: Tue Dec 07, 2004 4:27 pm Post subject: |
|
|
I have an AthlonXP box running the 2004.3 base system and a 2.4.22 kernel. It was built with:
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
I would like to upgrade to an Athlon64 cpu and run the whole system at 32-bit. Just want a hardware upgrade, faster cpu, fsb, etc. No 64-bit stuff at this time.
From what I have read on these forums, all I need to do Gentoo-wise is to update to a newer kernel. Is that true? Sounds dern easy if that's the case. |
|
Back to top |
|
|
RAPUL l33t
Joined: 29 Dec 2002 Posts: 664 Location: Valencia (SPAIN)
|
Posted: Tue Dec 07, 2004 5:14 pm Post subject: |
|
|
Yap!
Install any >=gentoo-development-sources-2.6.5-r1. _________________ Entropy rulz world.
Redundancy sux.
World is full of redundancy.
World sux. |
|
Back to top |
|
|
Benotti n00b
Joined: 16 Jan 2005 Posts: 9 Location: Rotterdam, Netherlands
|
Posted: Sun Jan 16, 2005 10:25 pm Post subject: |
|
|
I am also considering installing the x86 gentoo on my amd64 and the chost setting should be set to i686-*, but what about the cflags? Do I need -march=athlon-xp, because I want 32bit, or can I use -march=athlon64 so it will optimize for my cpu, yet will compile in 32bit because of the chost?
If someone could clear this up, please
edit: one quick offtopic question: I often see people with -fomit-frame-pointer and -O2 or -O3, but according to the gcc manual, -fomit-frame-pointer is enabled automatically when using -O, -O2, -O3, -Os. Is there any use to specifically add it nevertheless then? |
|
Back to top |
|
|
alexwade n00b
Joined: 22 Aug 2002 Posts: 47 Location: Orlando, FL
|
Posted: Mon Jan 17, 2005 8:30 pm Post subject: |
|
|
gnudude:
i just went from a althlon tbird to althlon xp 64 bit and all i had to do was recompile the kernel and everythign works great, so you don't have to worry about that for the upgrade. now i'm just trying to figure out the best optimizations i should change to for getting the best performance after the upgrade without breaking my current system. |
|
Back to top |
|
|
markusw n00b
Joined: 31 Dec 2004 Posts: 17
|
Posted: Wed Feb 02, 2005 2:47 am Post subject: |
|
|
I know this thread is about CFLAGS, but can I ask a question about CHOST?
I am also planning a 32-bit x86 Gentoo install on an AMD64. I know that irritates some people but I have my reasons
If I do a stage 1 install, I get to set CHOST. If I want 32-bit x86, then I say CHOST="i686-pc-linux-gnu" Correct?
I was planning on the following CFLAGS
CFLAGS="-O2 -march=athlon-xp -maccumulate-outgoing-args -ftracer -pipe -msse2 -fPIC"
But if I specify my CHOST as i686, then can I specify -march=athlon64 or will that confuse the compiler. Assuming gcc 3.4.3.
Any comments? |
|
Back to top |
|
|
kamisama n00b
Joined: 27 Apr 2004 Posts: 41
|
Posted: Fri Mar 11, 2005 6:29 pm Post subject: this thread stinks |
|
|
As far as I can tell all but one of the guys in here is looking for the best cflags for a 32bit mode - amd64.
The thread I made had some very useful information. It got closed and I got redirected here. Since this thread sucks. Read mine.
Code: |
http://forums.gentoo.org/viewtopic-p-2171229-highlight-.html?sid=c1602bb94706f59f64b9423c406ad87c#2171229
|
|
|
Back to top |
|
|
Birtz Apprentice
Joined: 09 Feb 2005 Posts: 272 Location: Osijek / Croatia
|
Posted: Fri Mar 11, 2005 6:59 pm Post subject: Re: this thread stinks |
|
|
kamisama wrote: | As far as I can tell all but one of the guys in here is looking for the best cflags for a 32bit mode - amd64.
The thread I made had some very useful information. It got closed and I got redirected here. Since this thread sucks. Read mine.
Code: |
http://forums.gentoo.org/viewtopic-p-2171229-highlight-.html?sid=c1602bb94706f59f64b9423c406ad87c#2171229
|
|
Just a friendly advice, you should have closed the URL in the BBCode for URL like this; https://forums.gentoo.org/viewtopic-p-2171229-highlight-.html?sid=c1602bb94706f59f64b9423c406ad87c#2171229.
Saves the time of copy&paste at least
Cheers _________________ It is not enough to have a good mind. The main thing is to use it well.
-- Rene Descartes
Don't have a childhood hero? How about Rob Hubbard http://www.freenetpages.co.uk/hp/tcworh/profile.htm |
|
Back to top |
|
|
kamisama n00b
Joined: 27 Apr 2004 Posts: 41
|
Posted: Fri Mar 11, 2005 8:43 pm Post subject: |
|
|
Ahh, my neophyte posting skills are revealed. Yeah I don't know why I used code. LOL |
|
Back to top |
|
|
kamisama n00b
Joined: 27 Apr 2004 Posts: 41
|
Posted: Fri Mar 11, 2005 8:47 pm Post subject: |
|
|
Hey Birtz, do you agree with Kugelfang that
Code: | CFLAGS="-march=athlon-xp -msse2 -O2 -pipe" |
is the same thing as
Code: | CFLAGS="-pipe -O2 -march=athlon64" |
Basicly hes saying the only good optimization code that is implied by march=athlon64 and isnt implied by march=athlon-xp is -msse2 |
|
Back to top |
|
|
|