On 12/06/2013 10:51 AM, Peter Maydell wrote: > From: Alexander Graf <agraf@xxxxxxx> > > This patch adds emulation support for the EXTR instruction. > > Signed-off-by: Alexander Graf <agraf@xxxxxxx> > > [claudio: adapted for new decoder, removed a few temporaries, > fixed the 32bit bug, added checks for more > unallocated cases] > > Signed-off-by: Claudio Fontana <claudio.fontana@xxxxxxxxxx> > Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx> > --- > target-arm/translate-a64.c | 48 ++++++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 46 insertions(+), 2 deletions(-) Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> > + tcg_rm = read_cpu_reg(s, rm, sf); > + tcg_rn = read_cpu_reg(s, rn, sf); > + tcg_gen_shri_i64(tcg_rm, tcg_rm, imm); > + tcg_gen_shli_i64(tcg_rn, tcg_rn, bitsize - imm); > + tcg_gen_or_i64(tcg_rd, tcg_rm, tcg_rn); > + if (!sf) { > + tcg_gen_ext32u_i64(tcg_rd, tcg_rd); > + } OPTME: If Rm==Rn, this is a rotate. r~ _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm