Jorn Argelo wrote:


On Wed, 31 Jan 2007 23:40:38 +1100, Scott Killen <[EMAIL PROTECTED]> 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
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to