On 31.05.2013 21:13, Richard Henderson wrote: > On 05/31/2013 11:05 AM, Jani Kokkonen wrote: >> +static inline void tcg_out_uxt(TCGContext *s, int s_bits, >> + TCGReg rd, TCGReg rn) >> +{ >> + /* using ALIASes UXTB 0x53001c00, UXTH 0x53003c00 >> + of UBFM Wd, Wn, #0, #7|15 and mov */ >> + int bits = 8 * (1 << s_bits) - 1; >> + tcg_out_ubfm(s, 0, rd, rn, 0, bits); >> +} > > Err, ubfm never generates mov, does it?
No, the comment is a leftover, it's wrong. > Yes, you do that later, > >> + case INDEX_op_ext32u_i64: >> + tcg_out_movr(s, 0, args[0], args[1]); >> + break; > > but the comment isn't actually correct in tcg_out_uxt, surely? > right. I was think also about the INDEX_op_ext16u_i64 and INDEX_op_ext16u_i32, I think I can just use ext = 0 for both when doing the UXT, consistently to what we discussed before about trying to use ext=0 whenever possible. CLaudio