improve ldm timings

I believe this also applies to other loads as well, but currently untested.
This commit is contained in:
Jaklyy
2024-06-24 19:44:38 -04:00
parent 3583d8222f
commit 109bbed3d0
3 changed files with 67 additions and 20 deletions

View File

@ -325,18 +325,7 @@ public:
Cycles += numC + numI;
}
void AddCycles_CDI() override
{
// LDR/LDM cycles. ARM9 seems to skip the internal cycle there.
// TODO: ITCM data fetches shouldn't be parallelized, they say
s32 numC = (R[15] & 0x2) ? 0 : CodeCycles;
s32 numD = DataCycles;
//if (DataRegion != CodeRegion)
Cycles += std::max(numC + numD - 6, std::max(numC, numD));
//else
// Cycles += numC + numD;
}
void AddCycles_CDI() override;
void AddCycles_CD() override
{