aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/bfin/ChangeLog5
-rw-r--r--sim/bfin/bfin-sim.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog
index 5aab117..75de6f4 100644
--- a/sim/bfin/ChangeLog
+++ b/sim/bfin/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-18 Robin Getz <robin.getz@analog.com>
+
+ * bfin-sim.c (saturate_s40_astat): Change ">" to ">=".
+ (decode_macfunc): Likewise when mmod is M_IH.
+
2011-06-18 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_create_inferior): Change free to freeargv.
diff --git a/sim/bfin/bfin-sim.c b/sim/bfin/bfin-sim.c
index 1cdfd27..31136a0 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: