On 10 July 2012 10:05, Philippe Houdoin <philippe.houdoin@xxxxxxxxx> wrote: > > I find neither naming scheme optimal. The best I've come up with is to > use > > a placeholder character instead (like "xax", "_ax", or "$ax"), but that > > isn't that beautiful either. So, either way is fine by me. > > Can't we use union trick (with some padding love) to represent all of > them at once : lower 16bits ax, lower 32bits eax and full 64bits rax? > Just my .00002 cents, as I'm clearly not an assembly guy. > The reason for the change was to allow the same name to refer to the native-sized version of the register on both 32-bit and 64-bit. That wouldn't help here. Could possibly use unions to make both the unprefixed and prefixed names available (use the former in generic code, and the latter in 32/64 specific code), though that would make the struct iframe definition a bit ugly and would probably lead to more confusion, as having the prefixed version available makes it seem like the unprefixed one is only the 16-bit version. FWIW, I had a look at Linux, they're also using the names without any prefix like I've done. Thanks, Alex