From d5fcd950e4f812deac7669190b30efd1781a1266 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 18 Jun 2011 21:58:08 +0000 Subject: [PATCH] sim: bfin: do not extend accumulator in LSHIFT insns The logical shift insn does not sign extend before shifting, so we shouldn't either. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger --- sim/bfin/ChangeLog | 5 +++++ sim/bfin/bfin-sim.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog index 5033c22d66d..4e656d75da3 100644 --- a/sim/bfin/ChangeLog +++ b/sim/bfin/ChangeLog @@ -1,3 +1,8 @@ +2011-06-18 Robin Getz + + * bfin-sim.c (decode_dsp32shift_0): Use get_unextended_acc + rather than get_extended_acc in LSHIFT insns. + 2011-06-18 Robin Getz * bfin-sim.c (decode_macfunc): Handle MM when mmod is M_TFU. diff --git a/sim/bfin/bfin-sim.c b/sim/bfin/bfin-sim.c index 20602b752e6..2c71f6c5607 100644 --- a/sim/bfin/bfin-sim.c +++ b/sim/bfin/bfin-sim.c @@ -5230,7 +5230,7 @@ decode_dsp32shift_0 (SIM_CPU *cpu, bu16 iw0, bu16 iw1) HLs = !!HLs; TRACE_INSN (cpu, "A%i = LSHIFT A%i BY R%i.L;", HLs, HLs, src0); - val = get_extended_acc (cpu, HLs); + val = get_unextended_acc (cpu, HLs); if (shft <= 0) val = lshiftrt (cpu, val, -shft, 40); -- 2.30.2