From: Jeff Law Date: Fri, 30 Aug 1996 16:41:39 +0000 (+0000) Subject: * simops.c: Fix satadd, satsub boundary case handling. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0e4ccc58f2ed7cd7315833cb6857474ce2238445;p=binutils-gdb.git * simops.c: Fix satadd, satsub boundary case handling. --- diff --git a/sim/v850/ChangeLog b/sim/v850/ChangeLog index 8c1cbbf4dce..09156fee0dc 100644 --- a/sim/v850/ChangeLog +++ b/sim/v850/ChangeLog @@ -1,5 +1,7 @@ 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. diff --git a/sim/v850/simops.c b/sim/v850/simops.c index 1586b11f67b..c6969fe0e31 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;