On 10/18/2016 11:32 AM, Marek Vasut wrote:
But the instruction encoding does, so I can use the field from the
instruction to directly index the register array.
Well, no, you can't.
In fact, it would be cleaner to have multiple arrays -- one for general
registers and one for control registers -- that you *could* actually directly
index. There are only two instructions that touch the control registers, rdctl
and wrctl. In those instructions you're having to explicitly add 32.
Thanks, I hope this is fixed now, although I mostly special-case the
R_ZERO handling throughout the code. Any writes to R_ZERO are now
ignored and any usage is converted to mov/movi instructions where
We've done that in the past, but in the end it is much cleaner to minimize the
number of places in which you have to check for R_ZERO.