diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-06-18 21:58:08 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-06-18 21:58:08 +0000 |
commit | d5fcd950e4f812deac7669190b30efd1781a1266 (patch) | |
tree | 60101f87751df65b70b07e99e140c3f91aa4fd45 /sim | |
parent | a56a195412e4998a0b59d4610aaaec3df55784d2 (diff) | |
download | binutils-gdb-d5fcd950e4f812deac7669190b30efd1781a1266.tar.gz |
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 <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'sim')
-rw-r--r-- | sim/bfin/ChangeLog | 5 | ||||
-rw-r--r-- | sim/bfin/bfin-sim.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog index 5033c22d66d..4e656d75da3 100644 --- a/sim/bfin/ChangeLog +++ b/sim/bfin/ChangeLog @@ -1,5 +1,10 @@ 2011-06-18 Robin Getz <robin.getz@analog.com> + * bfin-sim.c (decode_dsp32shift_0): Use get_unextended_acc + rather than get_extended_acc in LSHIFT insns. + +2011-06-18 Robin Getz <robin.getz@analog.com> + * bfin-sim.c (decode_macfunc): Handle MM when mmod is M_TFU. Check MM once when mmod is M_FU to match M_TFU better. 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); |