From Newsgroup: comp.arch
On Tue, 15 Sep 2026 01:38:21 GMT,
quadibloc@invalid.com (John Savard)
wrote:
Suppose I go all the way down to 64-bit blocks.
This seemed oh, so reasonable. But will a compiler want to use it?
After all, one can only switch from 32-bit instructions to 20-bit
short instructions after an even-numbered 32-bit instruction, and back
to 32-bit instructions after a multiple of three 20-bit short
instructions.
Except that one can also encode 32-bit instructions in the 20-bit
instruction stream, along with additional possibilities in that length
range. So positioning is arbitrary, albeit with a loss in efficiency.
When instructions have immediates, the location is fixed as being at a
64-bit boundary, but I still envisage the first or second 32-bit
instruction, or any 36-bit instruction within the 20-bit stream, as
potentially having an immediate; it would just come after the 64-bit
unit containing the instruction, leading to a requirement to fetch
ahead before execution.
The fact that 2 and 3 are relatively prime means that one can stop the
sequence of 20-bit short instructions anywhere; encoding none, one, or
two subsequent 32-bit instructions in two 20-bit slots will eventually
make everything come out even.
John Savard
--- Synchronet 3.22a-Linux NewsLink 1.2