Subject: Re: benefits for using sparc64 rather than sparc
To: Joel CARNAT <joel@carnat.net>
From: Eduardo Horvath <eeh@netbsd.org>
List: port-sparc64
Date: 02/15/2006 21:05:29
On Wed, 15 Feb 2006, Joel CARNAT wrote:

> What I was wondering then is : is there any (real) benefits on running the
> sparc64 port (rather than the sparc one) on the Ultra machines /sparc64
> supports ?

The big difference between /sparc and /sparc64 is that /sparc generally 
runs the SPARC V7 instruction set whereas sparc64 uses the SPARC V9 
instruction set.  The V7 instruction set does not have hardware multiply 
or divide (to use that you need V8 which is not the default for NetBSD 
builds).  The V9 instruction set has hardware multiply and divide along 
with branch prediction, conditional moves, and nonfaulting loads.  Also, 
gcc usually uses single-scalar for V7 or double-scalar scheduling for 
SuperSPARC code generation, UltraSPARC is scheduled at least 4-way 
superscalar.

So, although you end up with a slightly larger cache footprint for 64-bit 
code it will usually run faster than 32-bit code, often a lot faster.

Eduardo