Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!ucbvax!dog.ee.lbl.gov!elf.ee.lbl.gov!torek From: torek@elf.ee.lbl.gov (Chris Torek) Newsgroups: comp.arch Subject: Re: Loop instructions Message-ID: <12586@dog.ee.lbl.gov> Date: 28 Apr 91 17:00:17 GMT References: <1991Apr16.152438.3445@waikato.ac.nz> <12739@pt.cs.cmu.edu> <1991Apr21.210031.16749@leland.Stanford.EDU> <12330@dog.ee.lbl.gov> <41612@cup.portal.com> Reply-To: torek@elf.ee.lbl.gov (Chris Torek) Organization: Lawrence Berkeley Laboratory, Berkeley Lines: 17 X-Local-Date: Sun, 28 Apr 91 10:00:17 PDT >In article <12330@dog.ee.lbl.gov> I wrote: >>However, it turns out that on the 68020 it is almost invariably faster >>to avoid DBcc anyway (bcopy, for instance, should be unrolled). ... (You can, of course, run the unrolled loop using dbra.) In article <41612@cup.portal.com> ts@cup.portal.com (Tim W Smith) writes: >I tried to calculate the proper amount of unrolling and came up with >about 11 move.l instructions per dbra. Yes, this is about right, although it depends on your memory system as well. (If memory is very slow, smaller loops are better, since it takes less time to get the whole loop into the cache and the branch overhead `disappears' into the memory access time.) -- In-Real-Life: Chris Torek, Lawrence Berkeley Lab CSE/EE (+1 415 486 5427) Berkeley, CA Domain: torek@ee.lbl.gov