Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles $Revision: 1.7.0.5 $; site uiucdcs Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxn!ihnp4!inuxc!pur-ee!uiucdcs!seefromline From: bcase@uiucdcs.Uiuc.ARPA Newsgroups: net.arch Subject: Re: better late... (really, fast NS Message-ID: <27800047@uiucdcs> Date: Tue, 9-Jul-85 17:58:00 EDT Article-I.D.: uiucdcs.27800047 Posted: Tue Jul 9 17:58:00 1985 Date-Received: Fri, 12-Jul-85 00:20:01 EDT References: <5720@utzoo.UUCP> Lines: 12 Nf-ID: #R:utzoo.UUCP:-572000:uiucdcs:27800047:000:603 Nf-From: uiucdcs.Uiuc.ARPA!bcase Jul 9 16:58:00 1985 The multiplies associated with indexing/scaling are nearly always computing the product of a variable and a small constant. In this case, a short sequence of shifts and adds will do the trick and probably more quickly than a microcoded mutiply (of course, if you want to throw a parallel mutiplier at it, that is a different matter). In addition, if the index calculation is in a loop, then elimination of the induction variable and strength reduction can change the mutiply into an add. In this last case, even a parllel multiplier will not help you. Optimizing compilers can do a lot. bcase