Date: Thu, 1 Feb 2007 13:42:10 -0800 (PST) From: youshi10@u.washington.edu To: freebsd-questions@freebsd.org Subject: Re: gcc compiler cputype, prescott or nocona confusion Message-ID: <Pine.LNX.4.43.0702011342100.23655@hymn05.u.washington.edu> In-Reply-To: <45C245AE.6020308@wcborstel.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 1 Feb 2007, Jorn Argelo wrote: > Garrett Cooper wrote: >> Jorn Argelo wrote: >>> >>> On Wed, 31 Jan 2007 23:40:38 +1100, Scott Killen >>> <salkillen@internode.on.net> wrote: >>>> Hi, >>>> >>>> When recompiling the world or kernel in FreeBSD i386 Rel 6.1 with, >>>> >>>> "# make buildworld" >>>> or >>>> "# make buildkernel KERNCONF=MYSMPCONF" >>>> >>>> (or building anything anything else for that matter), even though I have >>>> "CPUTYPE?=nocona" set in my "/etc/make.conf" file the compiler seems to >>>> head >>>> back to a default of "-march=prescott" when compiling many of the >>>> functions >>>> on a Dual Xeon 3.6g (nocona) machine! >>>> >>>> This doesn't happen when compiling for other machine types, I've tried >>>> it >>>> on a >>>> Dual PentiumPro, Dual PII, Dual PIII setting the CPUTYPE to the correct >>>> cpu >>>> type and the -march sticks to the assigned cpu type through all >>>> operations >>>> and produces nice quick optimized code. >>>> >>>> Why is this so? >>>> >>>> Is it because the "nocona" machine type optimization refers to the EMT64 >>>> technology and thus is rejected when compiling for i386 targets rather >>>> than >>>> amd64 or emt64 targets and Gcc rejects it? >>> >>> That's right. AFAIK the Nocona core is a prescott with EM64T support (feel >>> free to correct me if I am wrong). Basically you have an i386 version of >>> FreeBSD, and with EM64T instructions enabled GCC will build a 64-bit >>> version of FreeBSD. I think that's the reason it switches back to >>> prescott. >> >> Most of the time you're right. However (for starters), some nocona chips >> feature 2MB cache instead of 1MB cache: >> >> <http://www.anandtech.com/IT/showdoc.aspx?i=2447&p=2>. >> >> I'd have to look more in depth, but OTOH the nocona also featured some >> architecture upgrades, other than just the "64-bit'ness" >> >> I heard that gcc 3.4.x was pretty funky with the nocona processors though, >> and prescott's a more stable target; that changed a bit in gcc 4.x I think. >> Or maybe I'm just mixing up nocona and yonah in this case. >> -Garrett > > Yonah is the Pentium M version of the first Core generation I believe. Or maybe > it was still a Netburst, I can't remember. > > Jorn Yonah is the first version of the Core Duo generation processors. -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.43.0702011342100.23655>