Path: utzoo!attcan!uunet!samsung!munnari.oz.au!goanna!ok
From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe)
Newsgroups: comp.arch
Subject: Re: int x int -> long for * (or is it 32x32->64)
Keywords: arithmetic,arbitrary precision,benchmark,modular arithmetic
Message-ID: <3762@goanna.cs.rmit.oz.au>
Date: 15 Sep 90 08:55:58 GMT
References: <3984@bingvaxu.cc.binghamton.edu> <41425@mips.mips.COM> <4015@bingvaxu.cc.binghamton.edu>
Organization: Comp Sci, RMIT, Melbourne, Australia
Lines: 26
Xref: dummy dummy:1
X-OldUsenet-Modified: added Xref
I wrote
User System User ratio
Horsell (16 x 16 -> 16, C code) 311.2 1.9 1.36 slower
Horsell (32 x 32 -> 32, C code) 228.8 2.6
My code (32 x 32 -> 64, assembly) 52.6 0.5 4.35 faster
(times in seconds reported by /bin/time on an Encore Multimax)
In article <4015@bingvaxu.cc.binghamton.edu>, kym@bingvaxu.cc.binghamton.edu (R. Kym Horsell) writes:
> Could you please include a few more numbers in a followup post?
Willingly. But which? Surely the one number 4.35 establishes the
disputed fact: 32x32->64 multiplication (which C does not give you
access to at all) can give you a worthwhile speedup for bignum multiplication.
Two very important numbers for this newsgroup are
-- what impact did inclusion of 32x32->64 multiplication have on
the rest of the architecture? (It also has 64/32->32+32 division.)
-- how many NS32532 programs are actually likely to benefit from this
instruction?
My answers are "no idea" and "dunno, but probably very few, because the
only HLL I've got that uses the instruction is T."
--
Heuer's Law: Any feature is a bug unless it can be turned off.