Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Jul 2002 15:06:45 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        ticso@cicely.de
Cc:        cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org, "David O'Brien" <obrien@FreeBSD.org>
Subject:   Re: cvs commit: src/share/mk bsd.cpu.mk
Message-ID:  <XFMail.20020728150645.jhb@FreeBSD.org>
In-Reply-To: <20020728141424.GH97768@cicely5.cicely.de>

next in thread | previous in thread | raw e-mail | index | archive | help

On 28-Jul-2002 Bernd Walter wrote:
> On Sat, Jul 27, 2002 at 08:38:12PM -0700, David O'Brien wrote:
>> On Sat, Jul 27, 2002 at 03:13:13PM -0700, Peter Wemm wrote:
>> > >   This defaults to tuning i386 builds for i686 machines though not using
>> > >   any instructions that aren't found on an 80386.  For alpha it defaults
>> > >   to tuning for an EV5.
>> 
>> EV56 please.  Maybe even EV6.
> 
> ev56 will break compatibility with many supported older machines.
> What happens with releases and packages?
> This situation is a bit different than loosing 80386 support in
> the binaries where we can expect owners to have acces to at least a
> pentium to build the binaries their self.
> 
> Please add at least a note in UPDATING so non BWX owners don't
> forget to update their /etc/make.conf.
> EV6 would be a bad default as it includes Multimedia extensions which
> are not available on ev56 machines and exclude much more machines
> without such a big performance win.
> Also it would break kernel builds as we explicitly tell the assembler
> to understand ev56 assembly - maybe it's a good idea to just raise that.

Erm, no, you missed what this does.  It just tunes for that CPU type
as far as instruction scheduling, etc.  It doesn't actually use any
ev56 specific instructions.  It is the difference between -mtune=ev46
and -mcpu=ev56 (yes, i386 is weird, every arch we support that supports
CPU options uses -mtune= for things that just tune output but still run
on the baseline and -mcpu= to tune as well as use new instructions, etc.
while on i386 -mcpu= is the same as -mtune= and -march= is the same as
-mcpu=.)  Check out the gcc info docs on -mtune=:

`-mtune=CPU_TYPE'
     Set only the instruction scheduling parameters for machine type
     CPU_TYPE.  The instruction set is not changed.

Thus, we will build releases and packages that are optimized to run
on EV56 (or EV5 or whatever) but will still run on EV4's.

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20020728150645.jhb>