Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Jan 2005 08:43:37 +0100
From:      Wilko Bulte <wb@freebie.xs4all.nl>
To:        freebsd-alpha@freebsd.org
Subject:   Re: processor type.
Message-ID:  <20050114074336.GA97061@freebie.xs4all.nl>
In-Reply-To: <20050114002651.GD29445@dragon.nuxi.com>
References:  <16866.32790.398095.651691@canoe.dclg.ca> <20050114002651.GD29445@dragon.nuxi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 13, 2005 at 04:26:51PM -0800, David O'Brien wrote..
> On Mon, Jan 10, 2005 at 08:16:06AM -0500, David Gilbert wrote:
> > I see in the compiler lines crawling by that gcc is asked to optimize
> > for 'EV5' while being compatible with 'EV4'.  My Alpha is an EV4 ---
> > I'm wondering if I would see better performance with a different flag
> > there, but the gcc manual doesn't even acknowledge the existance of
> > the options that are in use, let alone the available options.
> 
> It doens't???
> 
> >From /usr/share/mk/bsd.cpu.mk:
>     . elif ${MACHINE_ARCH} == "alpha"
>     _CPUCFLAGS = -mcpu=ev4 -mtune=ev5
> 
> http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/DEC-Alpha-Options.html#DEC-Alpha-Options
> clearly tells:
> 
> -mcpu=cpu_type
>     Set the instruction set and instruction scheduling parameters for
>     machine type cpu_type. You can specify either the EV style name or
>     the corresponding chip number. GCC supports scheduling parameters for
>     the EV4, EV5 and EV6 family of processors.
> 
> -mtune=cpu_type
>     Set only the instruction scheduling parameters for machine type
>     cpu_type. The instruction set is not changed.
> 
> 
> That said, you should remove the -mtune=ev5 or change it to -mtune=ev4.
> My guess is you won't notice a difference, but this this change will
> produce the best code for your machine.

Any idea how drastic -mtune=ev6 would change things on a DS10 (to name
a random box ;-) ?

Am I correct in assuming that -mcpu=ev4 will result in not using the BWX
etc of the newer CPUs?  And that -mcpu=ev6 will result in code that does
not run on anything older than EV6 due to missing instructions etc?

W/

-- 
Wilko Bulte				wilko@FreeBSD.org



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