Initial softfloat port from Bochs to 86box, currently selectable only on QT.
This commit is contained in:
@@ -33,20 +33,6 @@ opFNOP(uint32_t fetchdat)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
opFXTRACT(uint32_t fetchdat)
|
||||
{
|
||||
double_decompose_t temp = (double_decompose_t) ST(0);
|
||||
|
||||
FP_ENTER();
|
||||
cpu_state.pc++;
|
||||
ST(0) = (double) temp.exponent;
|
||||
x87_push((double) temp.mantissa);
|
||||
CLOCK_CYCLES_FPU((fpu_type >= FPU_487SX) ? (x87_timings.fxtract) : (x87_timings.fxtract * cpu_multi));
|
||||
CONCURRENCY_CYCLES((fpu_type >= FPU_487SX) ? (x87_concurrency.fxtract) : (x87_concurrency.fxtract * cpu_multi));
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
opFCLEX(uint32_t fetchdat)
|
||||
{
|
||||
@@ -511,6 +497,20 @@ opFCHS(uint32_t fetchdat)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
opFXTRACT(uint32_t fetchdat)
|
||||
{
|
||||
double_decompose_t temp = (double_decompose_t) ST(0);
|
||||
|
||||
FP_ENTER();
|
||||
cpu_state.pc++;
|
||||
ST(0) = (double) temp.exponent;
|
||||
x87_push((double) temp.mantissa);
|
||||
CLOCK_CYCLES_FPU((fpu_type >= FPU_487SX) ? (x87_timings.fxtract) : (x87_timings.fxtract * cpu_multi));
|
||||
CONCURRENCY_CYCLES((fpu_type >= FPU_487SX) ? (x87_concurrency.fxtract) : (x87_concurrency.fxtract * cpu_multi));
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
opFABS(uint32_t fetchdat)
|
||||
{
|
||||
@@ -755,6 +755,7 @@ opFPREM(uint32_t fetchdat)
|
||||
CONCURRENCY_CYCLES((fpu_type >= FPU_487SX) ? (x87_concurrency.fprem) : (x87_concurrency.fprem * cpu_multi));
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
opFPREM1(uint32_t fetchdat)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user