EE: DIV.S left an earlier instruction's I and D standing

Of the three interpreter ops that raise those two causes, DIV.S was the
only one that did not clear them first.
This commit is contained in:
pstef
2026-08-09 11:21:25 +02:00
parent 38e1611862
commit 9bab278143
+4
View File
@@ -800,6 +800,10 @@ void CVT_W() {
}
void DIV_S() {
// checkDivideByZero only ORs, so the causes are cleared here, as in SQRT.S
// and RSQRT.S.
clearFPUFlags(FPUflagI | FPUflagD);
if (checkDivideByZero( _FdValUl_, _FtValUl_, _FsValUl_, FPUflagD | FPUflagSD, FPUflagI | FPUflagSI)) return;
_FdValUl_ = eeDivide( _FsValUl_, _FtValUl_ );
}