Sujet : Re: Decrement And Branch
De : anton (at) *nospam* mips.complang.tuwien.ac.at (Anton Ertl)
Groupes : comp.archDate : 15. Aug 2024, 11:29:11
Autres entêtes
Organisation : Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID : <2024Aug15.122911@mips.complang.tuwien.ac.at>
References : 1 2 3 4
User-Agent : xrn 10.11
Lawrence D'Oliveiro <
ldo@nz.invalid> writes:
On Wed, 14 Aug 2024 09:10:01 GMT, Anton Ertl wrote:
Like I said, I wondered why this sort of thing wasn't more common ...
For the early RISCs, the pipeline was designed for early branch
execution.
>
Note that I was referring to the decrement-down-to-minus-1 form, as
opposed to the decrement-down-to-zero form.
I guess what you want to point out is that
x = x-1
if (x!=-1) goto ...
is equivalent to
flag = x!=0; x = x-1; if (flag) goto ...
but in the latter the branch does not need to wait for the decrement
to complete. As for x!=0 vs. x!=1, the CPU may already have special
circuits for x!=0.
Ok, so this is not the reason for not having this instruction. Which
leaves: It is not useful that often.
- anton
-- 'Anyone trying for "industrial quality" ISA should avoid undefined behavior.' Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>