Added recompiled register versions of FADDP, FDIVP, FDIVRP, FMULP, FSUBP and FSUBRP.

This commit is contained in:
SarahW 2018-10-08 21:44:30 +01:00
commit 305b6cc4fd
10 changed files with 190 additions and 65 deletions

View file

@ -38,8 +38,8 @@ static inline void x87_checkexceptions()
static inline void x87_push(double i)
{
cpu_state.TOP=(cpu_state.TOP-1)&7;
cpu_state.ST[cpu_state.TOP] = i;
cpu_state.TOP--;
cpu_state.ST[cpu_state.TOP&7] = i;
cpu_state.tag[cpu_state.TOP&7] = TAG_VALID;
}
@ -53,16 +53,16 @@ static inline void x87_push_u64(uint64_t i)
td.ll = i;
cpu_state.TOP=(cpu_state.TOP-1)&7;
cpu_state.ST[cpu_state.TOP] = td.d;
cpu_state.TOP--;
cpu_state.ST[cpu_state.TOP&7] = td.d;
cpu_state.tag[cpu_state.TOP&7] = TAG_VALID;
}
static inline double x87_pop()
{
double t = cpu_state.ST[cpu_state.TOP];
double t = cpu_state.ST[cpu_state.TOP&7];
cpu_state.tag[cpu_state.TOP&7] = TAG_EMPTY;
cpu_state.TOP=(cpu_state.TOP+1)&7;
cpu_state.TOP++;
return t;
}