Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ukma!rutgers!rochester!pt.cs.cmu.edu!sei!firth From: firth@sei.cmu.edu (Robert Firth) Newsgroups: comp.arch Subject: Complex Instructions Keywords: RISC, CISC, HPS Message-ID: <3169@bd.sei.cmu.edu> Date: 13 Apr 89 13:01:59 GMT References: <807@microsoft.UUCP> <92634@sun.uucp> <13322@steinmetz.ge.com> <573@loligo.cc.fsu.edu> <5064@hubcap.clemson.edu> Reply-To: firth@sei.cmu.edu (Robert Firth) Organization: Software Engineering Institute, Pittsburgh, PA Lines: 16 In article <5064@hubcap.clemson.edu> mark@hubcap.clemson.edu (Mark Smotherman) writes: [quoting Clark & Strecker] > "Anecdotal accounts of irrational implementations are certainly > interesting. Is it *typical*, however, that composite instructions > run more slowly than equivalent sequences of simple instructions? In my experience, yes, it is indeed typical. Taking only the example of the VAX, I have found naive code faster than the block operations (MOVC3, CMPC3), the loop instruction (ACB), INDEX, and, of course, the call instructions. Moving to RISC machines, one point to note is that the authors' assertion that, other things being equal, several instructions cannot be faster than one is false: the several instructions can be interleaved by the compiler with other code, so as to overlap delays with useful work.