Subject: Re: New hash algorithm - FNV - for use in the kernel
To: None <lukem@wasabisystems.com>
From: Darren Reed <darrenr@reed.wattle.id.au>
List: tech-perform
Date: 11/27/2001 20:40:48
Luke,
You asked about SPARC on icb, so I'll follow up here...
I used a quick test program that comprised of this:
main()
{
int a, b, c;
a = 1;
b = 10;
c = a * b;
printf("c = %d\n", c);
}
I tested with SUNWspro CC 5.0, using each of the CPU targets with each of
the architecture types. The default is "generic,generic". Using "generic"
in either column resulted in a "call .mul" and using "v7" as architecture
always generated "call .mul". All other cases had a hardware multiply.
CPU Targets:
generic old super super2 micro micro2 hyper hyper2 powerup ultra ultra2 ultra2i
Architectures:
generic v7 v8a v8 v8plus v8plusa v9 v9a
Using SUNWspro CC 5.0, -xarch=v9:
! 7 c = a * b;
...
mulx %l1,%l0,%l1
-xarch=v8
! 7 c = a * b;
smul %l0,%l1,%o1
-xarch=v7
! 7 c = a * b;
call .mul
no -xarch
! 7 c = a * b;
call .mul
gcc 2.8.1:
call .umul,0
-msparclite:
smul %o0,%o1,%o0
-msupersparc:
smul %o0,%o1,%o0
-mv8:
smul %o0,%o1,%o0
The question is, what SPARC based computers are pre-v8 ? Is this just sun4?
This is seemingly a good candidate for MD assembly code being written..
Darren
p.s. I've changed tech-kern to tech-sparc for this...