On Sat, Jan 28, 2012 at 02:14:03AM +0100, Wolfram Sang wrote:
I wondered if you'd save reg_bits and val_bits there (converting to *_bytes when needed), you could replace all the format_x_y-functions with a few generic functions doing (reg << y) | val. Unsure if it is worth it...
Clearly we *can* but there's other bits (chiefly the cache code once we acquire the ability to do block operations from cache) which really want stuff to be 8 bit aligned. I deliberately chose to make things byte aligned so we have to think about this stuff before we do things that make byte aligned stuff hard, it felt like if we were going to take a complexity hit we probably want it to be on the odd register formats as pretty much all of the more demanding modern devices seem to be going for multiples of 8 bits.