+Tue Mar 3 13:58:43 1998 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * sim-main.h (GETFCC): Return an unsigned value.
+
+start-sanitize-r5900
+ * r5900.igen: Use an unsigned array index variable `i'.
+ (QFSRV): Ditto for variable bytes.
+
+end-sanitize-r5900
+Tue Mar 3 13:21:37 1998 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * mips.igen (DIV): Fix check for -1 / MIN_INT.
+ (DADD): Result destination is RD not RT.
+
+start-sanitize-r5900
+ * r5900.igen (DIV1): Fix check for -1 / MIN_INT.
+ (DIVU1): Don't check for MIN_INT / -1 as performing unsigned
+ divide.
+
+end-sanitize-r5900
Fri Feb 27 13:49:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
* sim-main.h (HIACCESS, LOACCESS): Always define.
+// -*- C -*-
+//
// <insn> ::=
// <insn-word> { "+" <insn-word> }
// ":" <format-name>
*tx19:
// end-sanitize-tx19
{
+ /* this check's for overflow */
ALU64_BEGIN (GPR[RS]);
ALU64_ADD (GPR[RT]);
- ALU64_END (GPR[RT]);
+ ALU64_END (GPR[RD]);
}
LO = EXTEND32 (0x80000000);
HI = EXTEND32 (0);
}
- else if (d == -1 && d == 0x80000000)
+ else if (n == SIGNED32 (0x80000000) && d == -1)
{
LO = EXTEND32 (0x80000000);
HI = EXTEND32 (0);
int bit = ((cc == 0) ? 23 : (24 + (cc)));\
FCSR = ((FCSR & ~(1 << bit)) | ((v) << bit));\
}
-#define GETFCC(cc) (((((cc) == 0) ? (FCSR & (1 << 23)) : (FCSR & (1 << (24 + (cc))))) != 0) ? 1 : 0)
+#define GETFCC(cc) (((((cc) == 0) ? (FCSR & (1 << 23)) : (FCSR & (1 << (24 + (cc))))) != 0) ? 1U : 0)
/* This should be the COC1 value at the start of the preceding
instruction: */