Deutsch English Français Italiano |
<2024Jun19.095808@mips.complang.tuwien.ac.at> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!feed.opticnetworks.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: anton@mips.complang.tuwien.ac.at (Anton Ertl) Newsgroups: comp.arch Subject: return for loop-back edges (Re: Concertlina II: Full Circle) Date: Wed, 19 Jun 2024 07:58:08 GMT Organization: Institut fuer Computersprachen, Technische Universitaet Wien Lines: 28 Message-ID: <2024Jun19.095808@mips.complang.tuwien.ac.at> References: <mas07jhu9i876gsov2gh8tap17kem5n21p@4ax.com> <132536f47d1b160ad3ad0340fc479c1d@www.novabbs.org> <v4c17j5eo503i93fb7imjpom5jqs3oivtv@4ax.com> <50c85586e1aec0eef53e83cef7cb1d5d@www.novabbs.org> Injection-Date: Wed, 19 Jun 2024 10:12:22 +0200 (CEST) Injection-Info: dont-email.me; posting-host="dda0c2635aeed12ea387e8721fb90af7"; logging-data="1975969"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18AyekjMrwPmp3dqOEeyVfw" Cancel-Lock: sha1:PGABN1y++IEU7oTUKR8Cm1youxM= X-newsreader: xrn 10.11 Bytes: 2437 mitchalsup@aol.com (MitchAlsup1) writes: [the instruction that ends the loop] >No, it is not a memref--it is a return ! using the register from the >VEC instruction. You "return" to the top of the loop. There is no >reason to use IP+Disp, and the fact there is no register nor disp- >lacement in LOOP enables it all to fit. In addition, when VEC executes, > >IP is pointing at the top of the loop, requiring no calculation >whatsoever. On a related note, about a year ago I have started research on the performance effect of (programming language) virtual-machine IP updates in interpreters. The dependence chains of these IP updates create a lower bound for the execution time of the program, and it turns out that, if the interpreter is otherwise efficient enough, this lower bound determines performance, and that we see speedups by up to a factor of 3 (depending on benchmark and microarchitecture) by optimizing these IP updates. One of the optimizations we tried out was to break the dependence chain be saving the IP on loop entry, and using that IP when starting the next iteration; this eliminates the IP updates of one iteration from the dependence chain of the next iteration. - anton -- 'Anyone trying for "industrial quality" ISA should avoid undefined behavior.' Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>