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
applicable.

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.


r~

Reply via email to