On 12/05/2013 08:33 AM, Peter Maydell wrote: > +static TCGv_i64 read_cpu_reg(DisasContext *s, int reg, int sf) > +{ > + TCGv_i64 v = new_tmp_a64_zero(s); > + if (reg != 31) {
This is going to issue a garbage "movi tmp, 0" opcode for every non-XZR read. While the optimizer will remove that, it's only going to slow things down, and easily avoidable. Better to allocate the temporary and only perform the movi for reg == 31. r~