diff options
| author | JosJuice <josjuice@gmail.com> | 2026-10-31 16:13:50 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-10-31 16:13:50 +0100 |
| commit | 29862901ee04982c607696dcf89f3eaa6a83a339 (patch) | |
| tree | fb06124fefc44b50254acbb0422888c8ffce0b4b /Source/Core | |
| parent | 47075151c3a45e93ee8856a07006d60332533cce (diff) | |
| parent | c54807302bd83fb1ac75523cf601c82474a309ba (diff) | |
Merge pull request #14944 from Sintendo/arm64-mfspr-sxtw
JitArm64_SystemRegister: mfspr - Sign extension nit
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp index 63e58067ad..e068566469 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp @@ -415,9 +415,8 @@ void JitArm64::mfspr(UGeckoInstruction inst) m_float_emit.FCVTS(Xresult, SC, RoundingMode::Z); LDP(IndexType::Signed, XA, XB, Xg, offsetof(CoreTiming::Globals, global_timer)); - SXTW(XB, WB); - SUB(Xresult, XB, Xresult); - ADD(Xresult, Xresult, XA); + ADD(XA, XA, WB, ArithOption(WB, ExtendSpecifier::SXTW)); + SUB(Xresult, XA, Xresult); // It might seem convenient to correct the timer for the block position here for even more // accurate timing, but as of currently, this can break games. If we end up reading a time |
