On 09/26/2013 05:48 PM, Alexander Graf wrote: > + if (is_32bit) { > + tcg_gen_ext32u_i64(tcg_tmp, cpu_reg(rm)); > + } else { > + tcg_gen_mov_i64(tcg_tmp, cpu_reg(rm)); > + } > + tcg_gen_shri_i64(tcg_res, cpu_reg(rm), imms); > + tcg_gen_shli_i64(tcg_tmp, cpu_reg(rn), bitsize - imms); > + tcg_gen_or_i64(cpu_reg(rd), tcg_tmp, tcg_res);
The first ext/mov is incorrectly unused. This will produce incorrect results for is_32bit. r~