Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!agate!bizet.Berkeley.EDU!matloff From: matloff@bizet.Berkeley.EDU (Norman Matloff) Newsgroups: comp.arch Subject: Re: undoing autoincrement Message-ID: <22017@agate.BERKELEY.EDU> Date: 25 Mar 89 00:03:09 GMT References: <21971@agate.BERKELEY.EDU> <27799@apple.Apple.COM> Sender: usenet@agate.BERKELEY.EDU Reply-To: matloff@heather.ucdavis.edu (Norm Matloff) Organization: EECS, UC Davis Lines: 15 In article <27799@apple.Apple.COM> baum@apple.UUCP (Allen Baum) writes: >Well, suppose that I have an ADD instruction following a conditional branch, >and the ADD is evaluated before the branch decision. Do I have to undo the >ADD? Whats the difference? Am I missing something here? Are you assuming a "multiple resource" CPU, so that instructions might execute out of order? [I was assuming a simple linear pipe, e.g. instr. fetch/decode/operand fetch/execute.] Anyway, in your case you again would have to do more work in undoing an ADD which has autoincrement than a plain ADD without autoincrement, and thus the autoinc wouldn't be "almost free" in this case either. Or am *I* missing something [a real possibility :-) ]? Norm