diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog index 900dc50cb5..0e37dddc14 100644 --- a/sim/bfin/ChangeLog +++ b/sim/bfin/ChangeLog @@ -1,3 +1,8 @@ +2011-03-23 Robin Getz + + * bfin-sim.c (decode_dsp32alu_0): Set A1 to a1_lo when up_hi is false, + and set A0 to a0_lo when up_lo is false. + 2011-03-23 Robin Getz * bfin-sim.c (decode_dsp32alu_0): Call saturate_s40_astat instead of diff --git a/sim/bfin/bfin-sim.c b/sim/bfin/bfin-sim.c index c78fe1a5a5..85e281a9d1 100644 --- a/sim/bfin/bfin-sim.c +++ b/sim/bfin/bfin-sim.c @@ -5041,11 +5041,16 @@ decode_dsp32alu_0 (SIM_CPU *cpu, bu16 iw0, bu16 iw1) SET_AREG (1, src_hi); SET_DREG (dst1, PREG (0)); } + else + SET_AREG (1, a1_lo); + if (up_lo) { SET_AREG (0, src_lo); SET_DREG (dst0, PREG (0)); } + else + SET_AREG (0, a0_lo); } else illegal_instruction (cpu);