> > The old code before the patch is obviously broken. It's mixing 64-bit > > (ppc_gpr_t) and 32-bit (target_ulong) values. > > It seems you do not understand that what was done was correct. It's not > mixing two different types. GPR are of ppc_gpr_t type and should be > displayed this way. > It's not garbage. On 64 bits hosts, the 64 bits GPR dump is correct. GPR > _are 64 bits_ when compiling the ppcemb target and should be displayed > as 64 bits value.
Really? Where exactly is the code that uses a 64-bit ppc_gpr_t ? I don't see any evidence that the high bits of the value is ever used. I see the SPE stuff that uses T0_64 et al, however this still uses stores the value in the low 32 bits of the {gpr,gprth} pair. Paul