diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog index 5aab1171af..75de6f4db4 100644 --- a/sim/bfin/ChangeLog +++ b/sim/bfin/ChangeLog @@ -1,3 +1,8 @@ +2011-06-18 Robin Getz + + * bfin-sim.c (saturate_s40_astat): Change ">" to ">=". + (decode_macfunc): Likewise when mmod is M_IH. + 2011-06-18 Mike Frysinger * interp.c (sim_create_inferior): Change free to freeargv. diff --git a/sim/bfin/bfin-sim.c b/sim/bfin/bfin-sim.c index 1cdfd27a35..31136a0660 100644 --- a/sim/bfin/bfin-sim.c +++ b/sim/bfin/bfin-sim.c @@ -1398,7 +1398,7 @@ saturate_s40_astat (bu64 val, bu32 *v) *v = 1; return -((bs64)1 << 39); } - else if ((bs64)val >= ((bs64)1 << 39) - 1) + else if ((bs64)val > ((bs64)1 << 39) - 1) { *v = 1; return ((bu64)1 << 39) - 1; @@ -1645,7 +1645,7 @@ decode_macfunc (SIM_CPU *cpu, int which, int op, int h0, int h1, int src0, case M_IH: if ((bs64)acc < -0x80000000ll) acc = -0x80000000ull, sat = 1; - else if ((bs64)acc >= 0x7fffffffll) + else if ((bs64)acc > 0x7fffffffll) acc = 0x7fffffffull, sat = 1; break; case M_W32: