Sujet : Re: Decrement And Branch
De : mitchalsup (at) *nospam* aol.com (MitchAlsup1)
Groupes : comp.archDate : 16. Aug 2024, 19:40:23
Autres entêtes
Organisation : Rocksolid Light
Message-ID : <78280e8b4a8c3d79eee2ab421724868a@www.novabbs.org>
References : 1 2
User-Agent : Rocksolid Light
On Fri, 16 Aug 2024 10:54:43 +0000, quadibloc wrote:
But if it's programmed in a higher-level language, usually what a loop
construct does is not the same as what a loop instruction does, so the
instruction is not used.
I designed My 66000 LOOP instructions to cover 3 main cases::
a) std iterated loop where iteration can be + or -, constant or
register, and comparison can be any of the 10 integer CMPs
against a constant or register.
b) std early out iterated loop:: strncpy()
c) both
These LOOPs come with different execution semantics of the insts
inside::
a) Cache allocation is relaxed when the loop is "long enough"
so that vector strip-mines do not erase the current cache
footprint.
b) Multiple iterations can be performed simultaneously (SIMD)
c) The width of execution is primarily the width of the cache
port(s) not the register ports.