aboutsummaryrefslogtreecommitdiff
path: root/sim/bfin/bfin-sim.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-05-14 16:00:37 +0000
committerMike Frysinger <vapier@gentoo.org>2011-05-14 16:00:37 +0000
commitefac2223c4fbafd3becfef5eef323bfb5931d1c7 (patch)
tree5d32adf53bb3121e78fe03f264475f23a76f207a /sim/bfin/bfin-sim.c
parent28fe96b798c2b0a7abd07b2631f6d4abeaf9d4dd (diff)
downloadfsf-binutils-gdb-efac2223c4fbafd3becfef5eef323bfb5931d1c7.zip
fsf-binutils-gdb-efac2223c4fbafd3becfef5eef323bfb5931d1c7.tar.gz
fsf-binutils-gdb-efac2223c4fbafd3becfef5eef323bfb5931d1c7.tar.bz2
sim: bfin: allow pushing of SP
The hardware respects this insn, and some code (like the on-chip bootrom) uses it, so allow it. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'sim/bfin/bfin-sim.c')
-rw-r--r--sim/bfin/bfin-sim.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sim/bfin/bfin-sim.c b/sim/bfin/bfin-sim.c
index 13e8850..1cdfd27 100644
--- a/sim/bfin/bfin-sim.c
+++ b/sim/bfin/bfin-sim.c
@@ -2035,8 +2035,7 @@ decode_PushPopReg_0 (SIM_CPU *cpu, bu16 iw0)
else
{
TRACE_INSN (cpu, "[--SP] = %s;", reg_name);
- /* Can't push SP. */
- if (INSN_LEN == 8 || (grp == 1 && reg == 6))
+ if (INSN_LEN == 8)
illegal_instruction_combination (cpu);
sp -= 4;