On 12/04/2013 01:32 PM, Peter Maydell wrote: > You're right that we can just make this function return the TCGv > temp rather than making the caller pass one in. Are you suggesting > the 64-bit case should return cpu_X[reg] rather than a copy of it, > though? I think it would be pretty hard to reason about if you had to > remember that sometimes you got a trashable copy and sometimes > the real register. I think that the normal case is to write to the output in one step, and thus having an input overlap an output isn't your problem but tcg's. I would think the case of multi-step output to be fairly rare, and easily solvable by always allocating an output temporary. Am I off-base on the multi-output thing? Modulo flags setting, of course, but I think that special case ought to be relatively solvable. > (I'm still a bit on the fence about that pool of auto-freeing temporaries. > Manual temp management is certainly a fertile source of decoder bugs, > but in the longer term we might want to push the functionality down into > the common code rather than having an ad-hoc thing in one decoder.) See also Sparc and S390. ;-) I'm open to suggestions for doing this generically, but I've no great ideas off-hand. r~ _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm