gcc compiler cputype, prescott or nocona confusion
jorn at wcborstel.com
Thu Feb 1 19:55:32 UTC 2007
Garrett Cooper wrote:
> Jorn Argelo wrote:
>> On Wed, 31 Jan 2007 23:40:38 +1100, Scott Killen
>> <salkillen at internode.on.net> wrote:
>>> When recompiling the world or kernel in FreeBSD i386 Rel 6.1 with,
>>> "# make buildworld"
>>> "# make buildkernel KERNCONF=MYSMPCONF"
>>> (or building anything anything else for that matter), even though I
>>> "CPUTYPE?=nocona" set in my "/etc/make.conf" file the compiler seems to
>>> back to a default of "-march=prescott" when compiling many of the
>>> 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
>>> type and the -march sticks to the assigned cpu type through all
>>> and produces nice quick optimized code.
>>> Why is this so?
>>> Is it because the "nocona" machine type optimization refers to the
>>> technology and thus is rejected when compiling for i386 targets rather
>>> 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:
> 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.
> freebsd-questions at freebsd.org mailing list
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org"
Yonah is the Pentium M version of the first Core generation I believe.
Or maybe it was still a Netburst, I can't remember.
More information about the freebsd-questions