On 08/03/2015 11:49 AM, Richard Henderson wrote: > #if defined(TARGET_MIPS64) > - case OPC_DEXTM: > - tcg_gen_shri_tl(t0, t1, lsb); > - if (msb != 31) { > - tcg_gen_andi_tl(t0, t0, (1ULL << (msb + 1 + 32)) - 1); > - } > - break; > case OPC_DEXTU: > - tcg_gen_shri_tl(t0, t1, lsb + 32); > - tcg_gen_andi_tl(t0, t0, (1ULL << (msb + 1)) - 1); > - break; > + lsb += 32; > + /* FALLTHRU */ > + case OPC_DEXTM: > + msb += 32; > + /* FALLTHRU */ > case OPC_DEXT: > + if (lsb + msb > 63) { > + goto fail; > + }
Apologies: this bit is wrong for DEXTU. I'll re-send. r~