mirror of
https://github.com/ARMSX2/ARMSX2.git
synced 2026-08-24 16:50:16 -07:00
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:
@@ -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_ );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user