Open Silabs-ArjanB opened 2 years ago
Fully agree to the first bullet. As the encoding space with any operand in the x16-x31 range is considered custom. Second bullet, agree Third bullet: Is this really a special case within RV32E? If a custom instruction is defined from a standard instruction with out of range source or destination register(s), then those encoding bits are simply not meant to designate a register. Sounds to me the same if I have a custom instruction without source or destination register.
Fully agree to the first bullet. As the encoding space with any operand in the x16-x31 range is considered custom.
Actually these encodings are no longer considered 'custom'. They are considered 'reserved'. Either way, the proposal it to offer such encodings for offload.
Third bullet: Is this really a special case within RV32E? If a custom instruction is defined from a standard instruction with out of range source or destination register(s), then those encoding bits are simply not meant to designate a register. Sounds to me the same if I have a custom instruction without source or destination register.
You are right about that. At the same time 'out of range source or destination registers' are not possible in RV32I, that is why I specifically mentioned it for RV32E. It does not imply any additional hardware (it is just something that could be verified for a coprocessor intended to work with a CPU using RV32E).
Actually these encodings are no longer considered 'custom'. They are considered 'reserved'. Either way, the proposal it to offer such encodings for offload.
Ok, I didn't observe this change until now. Then, I guess it is consistent with the general approach of the interface, that reserved means offered for offload.
CORE-V-XIF needs to define how XIF can be used together with RV32E.
An initial proposal: