UserspaceEmulator: Clear c0 on x87 constant load instructions

This commit is contained in:
Hendiadyoin1 2022-02-03 12:47:17 +01:00 committed by Andreas Kling
parent 3f581c77d9
commit 47fe911196
Notes: sideshowbarker 2024-07-17 17:24:03 +09:00

View File

@ -1088,30 +1088,37 @@ void SoftFPU::FYL2XP1(const X86::Instruction&)
// LOAD CONSTANT
void SoftFPU::FLD1(const X86::Instruction&)
{
set_c1(0);
fpu_push(1.0l);
}
void SoftFPU::FLDZ(const X86::Instruction&)
{
set_c1(0);
fpu_push(0.0l);
}
void SoftFPU::FLDPI(const X86::Instruction&)
{
set_c1(0);
fpu_push(M_PIl);
}
void SoftFPU::FLDL2E(const X86::Instruction&)
{
set_c1(0);
fpu_push(M_LOG2El);
}
void SoftFPU::FLDLN2(const X86::Instruction&)
{
set_c1(0);
fpu_push(M_LN2l);
}
void SoftFPU::FLDL2T(const X86::Instruction&)
{
set_c1(0);
fpu_push(log2l(10.0l));
}
void SoftFPU::FLDLG2(const X86::Instruction&)
{
set_c1(0);
fpu_push(log10l(2.0l));
}