r5900.igen, sim-main.h, sky-libvpe.c: Add run-time option --float-type
This commit is contained in:
parent
2b1d91ab62
commit
8c8dd0c471
1 changed files with 19 additions and 0 deletions
|
@ -168,6 +168,16 @@ convert (SD, CPU, cia, rm, op, from, to)
|
||||||
#define FP_RM_TOMINF (3) /* Round to Minus infinity (Floor) */
|
#define FP_RM_TOMINF (3) /* Round to Minus infinity (Floor) */
|
||||||
#define GETRM() (int)((FCSR >> FP_SH_RM) & FP_MASK_RM)
|
#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 */
|
/* 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))
|
#define NUM_REGS (NUM_R5900_REGS + 2*(NUM_VU_REGS) + 2*(NUM_VIF_REGS))
|
||||||
#endif /* no tm-txvu.h */
|
#endif /* no tm-txvu.h */
|
||||||
#endif
|
#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 */
|
/* 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
|
/* To keep this default simulator simple, and fast, we use a direct
|
||||||
vector of registers. The internal simulator engine then uses
|
vector of registers. The internal simulator engine then uses
|
||||||
|
|
Loading…
Reference in a new issue