Path: utzoo!utgpu!watserv1!watdragon!lion!ccplumb From: ccplumb@lion.waterloo.edu (Colin Plumb) Newsgroups: comp.sys.transputer Subject: Re: move2d on t800 Message-ID: <21665@watdragon.waterloo.edu> Date: 6 Mar 90 23:22:01 GMT References: <9002202020.AA25105@tcgould.TN.CORNELL.EDU> Sender: daemon@watdragon.waterloo.edu Reply-To: ccplumb@lion.waterloo.edu (Colin Plumb) Organization: U. of Waterloo, Ontario Lines: 18 In article <9002202020.AA25105@tcgould.TN.CORNELL.EDU> braner@TCGOULD.TN.CORNELL.EDU (Moshe Braner) writes: >It dawned on me all of a sudden that the t800 move2d instruction >could be used for vector math scatter/gather. Is that true? >How fast is it in that role, and as compared with simple pure C >code? Thanks. Well, it can be used for scatter/gather. I once had an application for it filling memory from a byte-wide I/O port. Yeah, thought I, just use a line length of 1 byte, a source stride of 0, and a destination stride of 1. Unfortunately, move2d has a per-line overhead of 23 cycles. This was slower than a software loop. Ick. Within the lines, it saturates the bus, just like move. But if your vector length is long or run-time variable and you don't want to do the compile-custom-bitblt-code trick, I'd think it would work well. -- -Colin