CPUTYPE=native handling

Roman Divacky rdivacky at freebsd.org
Tue Nov 8 21:32:59 UTC 2011


On Tue, Nov 08, 2011 at 09:23:52PM +0000, Alexander Best wrote:
> On Tue Nov  8 11, Roman Divacky wrote:
> > clang will use "core2" for family=6 and model=15
> > 
> > check llvm/lib/Support/Host.cpp
> > 
> > what is the problem? The fact that our gcc from the middle-ages
> > does not recognize that?
> 
> actually a few months ago quite a lot of gcc commits happend to add newer
> optimisations (such as core2) to gcc and some commits aimed at modifying gcc,
> so it would make the best -march=native choice there is.
> 
> what's the clang command (similar to gcc -march=native -E -v - </dev/null),
> one can use to check what actual optimisation clang turns "native" into?
 
clang -### -march=native will show something like

"-target-cpu" "k8-sse3"


> also there seem to be cross-compilation issues. when people are running i386
> and want to cross-compile for amd64 and put CPUTYPE=core2 (or any other amd64
> cpu) into their make.conf, this gets downgraded by bsd.cpu.mk to prescott.
> 
> see http://www.freebsd.org/cgi/query-pr.cgi?pr=conf/84800
> and
> http://www.mail-archive.com/freebsd-hackers@freebsd.org/msg161451.html

If gcc supports nocona now, the conf/84800 patch is ok. The same goes
with downgrading core2 -> prescott.

I have no idea what gcc supports these days. I think we should just skip
the downgrading completely for clang as it either supports everything or
can be made easily to support what it doesnt.

roman


More information about the freebsd-toolchain mailing list