Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!husc6!think!ames!oliveb!pyramid!voder!apple!baum From: baum@apple.UUCP (Allen J. Baum) Newsgroups: comp.arch Subject: Re: Multiply as Shift-Add(Subtract) Message-ID: <761@apple.UUCP> Date: Wed, 13-May-87 16:33:32 EDT Article-I.D.: apple.761 Posted: Wed May 13 16:33:32 1987 Date-Received: Sat, 16-May-87 06:57:04 EDT References: <1270@aw.sei.cmu.edu> <8012@utzoo.UUCP> <16640@amdcad.AMD.COM> <27685@rochester.ARPA> <6651@mimsy.UUCP> Reply-To: baum@apple.UUCP (Allen Baum) Organization: Apple Computer, Inc. Lines: 19 -------- [] The HP Spectrum has instructions that shift an index depending on whether the load/store is byte/halfword/word/doubleword. This hardware is also used for a set of general 'shift0/1/2/3 & add' instructions. Each has a variation that traps on overflow, where overflow is either an addition overflow or a shift overflow. (Sees if bits shifted out=sign) These instructions are sufficient to multiply by constants<3800 in six instructions, and average performance of two 32-bit variables is under 20 cycles. Most of this work was done by Dan Magenheimer at HP, and there will be a publication describing the work. -- {decwrl,hplabs,ihnp4}!nsc!apple!baum (408)973-3385