From: Mike Frysinger Date: Sat, 14 May 2011 16:00:37 +0000 (+0000) Subject: sim: bfin: allow pushing of SP X-Git-Tag: sid-snapshot-20110601~189 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=efac2223c4fbafd3becfef5eef323bfb5931d1c7;p=thirdparty%2Fbinutils-gdb.git 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 --- diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog index a69d6e2f961..b1d4c9bb965 100644 --- a/sim/bfin/ChangeLog +++ b/sim/bfin/ChangeLog @@ -1,3 +1,8 @@ +2011-05-14 Mike Frysinger + + * bfin-sim.c (decode_PushPopReg_0): Delete (grp == 1 && reg == 6) + check for SP reg. + 2011-05-14 Mike Frysinger * dv-bfin_uart.c (bfin_uart_write_byte): Add a mcr arg. Declare a diff --git a/sim/bfin/bfin-sim.c b/sim/bfin/bfin-sim.c index 13e885033bb..1cdfd27a352 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;