Thanks again Veedrac. I will read on branch belt reordering, (I am already reading on
rescue). I am guessing it is very similar to what call with multiple arguments and “new belt” is doing, but without actually creating new frame, but instead dropping multiple new things on the belt during branch (when taken).
Thanks for the
eql hint. I am just free styling most of this code, as I didn’t really go deep into wiki, because I wanted more conceptual ideas first clarified. 🙂
As for the phasing and ganging, I am still eluded by exact semantic, but I will do check a wiki and talks again!
As for the
rd, immediate constants can be done with
rd looks like a good choice for quick copying belt values (more compact than
or, and works with vectors / floating points values on belt).
Still not sure, why
rd has ability to read from scratchpad, because
fill does the same apparently. One is called “extended” scratchpad tho, so maybe
rd on scratchpad is just for debugging, and thread state saving, without touching spilled stuff.