Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-lcc!pyramid!prls!mips!mash From: mash@mips.UUCP (John Mashey) Newsgroups: comp.sys.m68k,comp.sys.intel Subject: Re: Re: Re: Recent Motorola ad seen in Byte Message-ID: <365@winchester.UUCP> Date: Tue, 5-May-87 02:32:26 EDT Article-I.D.: winchest.365 Posted: Tue May 5 02:32:26 1987 Date-Received: Wed, 6-May-87 01:33:01 EDT References: <930@intsc.UUCP> <1517@ncr-sd.SanDiego.NCR.COM> Reply-To: mash@winchester.UUCP (John Mashey) Distribution: comp Organization: MIPS Computer Systems, Sunnyvale, CA Lines: 25 Xref: mnetor comp.sys.m68k:446 comp.sys.intel:222 In article <274@fornax.uucp> chapman@fornax.uucp (John Chapman) writes: > ...Discussion of dedicated registers for string ops... > >Why is it necessary to have full generality for these instruction >operands? You know in advance what you will be using a calculation >result for so do it in the register it needs to be in. You have all >the other registers to do what you want with so why is it a problem >that (for example) the vax uses low numbered registers for string >operands? What exactly does it prevent you from doing? In general, it's an OK tradeoff. What it does make harder is the use of more serious optimizing compilers. In general, it is much easier for ones that do good global optimization to compute results into whatever registers are convenient. Special cases can be lived with, but the more there are, the harder it gets. Compiler writers have always disliked things like: register pairs needed for certain operations special registers used by some instructions unnecesarily assymetric register sets Again: not a disaster, and maybe a correct tradeoff, given all of the other assumptions alrady builtin, but not what one would like. -- -john mashey DISCLAIMER: UUCP: {decvax,ucbvax,ihnp4}!decwrl!mips!mash, DDD: 408-720-1700, x253 USPS: MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086