On Tue Nov 1 13:50:04 2022 +0000, Zebediah Figura wrote:
In other places where allocate_register() is called, dimx is used
instead of reg_size. I think this doesn't cause an error even when structs contain objects (which get the dimx from their format type), thanks to the split_array_copies and split_struct_copies passes, but it makes me wonder why not simply use reg_size in those cases too. As described off-list, the answer is mostly "historical reasons". When reg_size was introduced (Wine commit 5f18f9f75ac4!) it counted whole registers, mostly because the very earliest register allocation code I wrote was geared towards sm1, and sm4 support was only added later. And non-numeric registers simply weren't considered at that point.
Ok, then I will change all other uses of `dimx` for allocating a register to `reg_size` in v2.