Bladeren bron

UserspaceEmulator: Clear c0 on x87 constant load instructions

Hendiadyoin1 3 jaren geleden
bovenliggende
commit
47fe911196
1 gewijzigde bestanden met toevoegingen van 7 en 0 verwijderingen
  1. 7 0
      Userland/DevTools/UserspaceEmulator/SoftFPU.cpp

+ 7 - 0
Userland/DevTools/UserspaceEmulator/SoftFPU.cpp

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