aboutsummaryrefslogtreecommitdiff
path: root/sim/mips
diff options
context:
space:
mode:
authorJames Lemke <jlemke@cygnus>1998-04-21 21:33:44 +0000
committerJames Lemke <jlemke@cygnus>1998-04-21 21:33:44 +0000
commit8c8dd0c47135bcbe428800d79aa6d59ac9b9f00f (patch)
tree9d9297b4be213a38ebe9f503e1ecb9a7e220587f /sim/mips
parent2b1d91ab625f6aeb851c2bef9f70dbad0504009e (diff)
downloadgdb-8c8dd0c47135bcbe428800d79aa6d59ac9b9f00f.zip
gdb-8c8dd0c47135bcbe428800d79aa6d59ac9b9f00f.tar.gz
gdb-8c8dd0c47135bcbe428800d79aa6d59ac9b9f00f.tar.bz2
r5900.igen, sim-main.h, sky-libvpe.c: Add run-time option --float-type
Diffstat (limited to 'sim/mips')
-rw-r--r--sim/mips/sim-main.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/sim/mips/sim-main.h b/sim/mips/sim-main.h
index 4e7b180..326eff0 100644
--- a/sim/mips/sim-main.h
+++ b/sim/mips/sim-main.h
@@ -168,6 +168,16 @@ convert (SD, CPU, cia, rm, op, from, to)
#define FP_RM_TOMINF (3) /* Round to Minus infinity (Floor) */
#define GETRM() (int)((FCSR >> FP_SH_RM) & FP_MASK_RM)
+/* start-sanitize-sky */
+#ifdef TARGET_SKY
+#ifdef SKY_FUNIT
+#include "wf.h"
+#endif
+#endif
+/* end-sanitize-sky */
+
+
+
/* HI/LO register accesses */
@@ -558,7 +568,16 @@ struct _sim_cpu {
#define NUM_REGS (NUM_R5900_REGS + 2*(NUM_VU_REGS) + 2*(NUM_VIF_REGS))
#endif /* no tm-txvu.h */
#endif
+
+enum float_operation
+/* start-sanitize-sky */
+/* NOTE: THE VALUES of THESE CONSTANTS MUST BE IN SYNC WITH THOSE IN WF.H */
/* end-sanitize-sky */
+ {
+ FLOP_ADD, FLOP_SUB, FLOP_MUL, FLOP_MADD,
+ FLOP_MSUB, FLOP_MAX=10, FLOP_MIN, FLOP_ABS,
+ FLOP_ITOF0=14, FLOP_FTOI0=18, FLOP_NEG=23
+ };
/* To keep this default simulator simple, and fast, we use a direct
vector of registers. The internal simulator engine then uses