Fri Aug 30 10:33:49 1996 Jeffrey A Law (law@cygnus.com)
+ * simops.c: Fix satadd, satsub boundary case handling.
+
* interp.c (hash): Fix.
* interp.c (do_format_8): Get operands correctly and
call the target function.
| (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;
| (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;
| (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;
| (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;
| (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;