aboutsummaryrefslogtreecommitdiff
path: root/sim/v850/simops.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1996-08-30 16:41:39 +0000
committerJeff Law <law@redhat.com>1996-08-30 16:41:39 +0000
commit0e4ccc58f2ed7cd7315833cb6857474ce2238445 (patch)
treea90e462742a79eba41f28584fa2c64fb35e7e336 /sim/v850/simops.c
parent83fc3bac9fd75bd785cf0016ca429b301c30fabd (diff)
downloadfsf-binutils-gdb-0e4ccc58f2ed7cd7315833cb6857474ce2238445.zip
fsf-binutils-gdb-0e4ccc58f2ed7cd7315833cb6857474ce2238445.tar.gz
fsf-binutils-gdb-0e4ccc58f2ed7cd7315833cb6857474ce2238445.tar.bz2
* simops.c: Fix satadd, satsub boundary case handling.
Diffstat (limited to 'sim/v850/simops.c')
-rw-r--r--sim/v850/simops.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sim/v850/simops.c b/sim/v850/simops.c
index 1586b11..c6969fe 100644
--- a/sim/v850/simops.c
+++ b/sim/v850/simops.c
@@ -824,7 +824,7 @@ OP_C0 ()
| (sat ? PSW_SAT : 0));
/* Handle saturated results. */
- if (sat && (op0 & 0x80000000))
+ if (sat && s)
State.regs[OP[1]] = 0x80000000;
else if (sat)
State.regs[OP[1]] = 0x7fffffff;
@@ -861,7 +861,7 @@ OP_220 ()
| (sat ? PSW_SAT : 0));
/* Handle saturated results. */
- if (sat && (op0 & 0x80000000))
+ if (sat && s)
State.regs[OP[1]] = 0x80000000;
else if (sat)
State.regs[OP[1]] = 0x7fffffff;
@@ -894,7 +894,7 @@ OP_A0 ()
| (sat ? PSW_SAT : 0));
/* Handle saturated results. */
- if (sat && (op1 & 0x80000000))
+ if (sat && s)
State.regs[OP[1]] = 0x80000000;
else if (sat)
State.regs[OP[1]] = 0x7fffffff;
@@ -930,7 +930,7 @@ OP_660 ()
| (sat ? PSW_SAT : 0));
/* Handle saturated results. */
- if (sat && (op1 & 0x80000000))
+ if (sat && s)
State.regs[OP[1]] = 0x80000000;
else if (sat)
State.regs[OP[1]] = 0x7fffffff;
@@ -962,7 +962,7 @@ OP_80 ()
| (sat ? PSW_SAT : 0));
/* Handle saturated results. */
- if (sat && (op0 & 0x80000000))
+ if (sat && s)
State.regs[OP[1]] = 0x80000000;
else if (sat)
State.regs[OP[1]] = 0x7fffffff;