Subject: Re: -mtune=nocona for EMT64 machines
To: Juan RP <juan@xtrarom.org>
From: Blair Sadewitz <blair.sadewitz@gmail.com>
List: port-amd64
Date: 04/24/2007 00:11:28
Yeah, I've done that.  On i386, my experience has been that it's
usually better to not set any, as gcc's support of many extensions is
not mature enough to make it a win--it's usually a loss.  Moreover,
many packages have various autodetection facilities of these features
that don't play nice with -march=arch.  For instance, MesaLib built
with the assembly dispatch routines and -march=pentium4 causes
intermittent freezes, which I suspect is due to it generating some
instructions which conflict with the run-time autodetection code
(there are obviously many other possibilities).

For x86_64, my intent was to find the optimal settings for the
instruction scheduler (see the tables of instruction costs in
gnu/dist/gcc4/gcc/config/i386/i386.c, etc.  In gcc 4.1.2, the default
setting is k8, which seems to be suboptimal for EMT64 CPUs.  I suppose
I'll just wait until 4.2 comes out, as it is supposed to have improved
support for a wider range of x86_64 CPUs.

I was thinking about trying to build the tree with gcc 4.2, but I'm
just too busy right now to undertake that.

Regards,

--Blair