[Libre-soc-dev] v3.1B prefix
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Sat Dec 5 13:54:19 GMT 2020
carrying on from late last night: some recovery of prior work done can
be achieved in the following way:
32bit SV instructions can be invented by:
- selecting 1 or 2 major opcodes
- using the older SV-P48 11 bit format
- taking the v1 16bit Compressed form
- joining the 3 together
following on from that:
- given that these are SV prefixed
- given that they are v3.0B 32bit
- logically it follows they fit v3.1 64 pref
- *and the 24 bits are entirely free*
this i feel is how we should do src1/src2 swizzled operations, for
example. there will be limitations on both the range of registers and
also the range of operations (because C16 is so small) however it is
better than a kick in the teeth.
and, if the C bank-selection idea is kept, even the v3.1 prefixed ops
can be retargetted to specialist tasks when needed most.
in particular: the 2 bits N and M of the 16bit form, by not doing
"state" any more, may be allocated to alternative purposes. the
highest priority of these i feel would be one for selecting between CR
or INT predication. the other for extending the ops that can be
although to be honest with the focus being entirely different, a full
redesign of C16 to only be SV prefixed is probably on the cards.
we have to invent an entire sub-ISA which is EXACTLY what i did not
want us to be doing.
More information about the Libre-soc-dev