gcc compiler cputype, prescott or nocona confusion
Abdullah Ibn Hamad Al-Marri
almarrie at gmail.com
Wed Jan 31 16:59:10 UTC 2007
On 1/31/07, Jorn Argelo <jorn at wcborstel.com> wrote:
> On Wed, 31 Jan 2007 23:40:38 +1100, Scott Killen <salkillen at 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.
> > Regards
> > Scott K
For the record I used "nocona" with my dual xeon emt64 2.8 GHz and it
broke my kernel.
-Abdullah Ibn Hamad Al-Marri
More information about the freebsd-questions