diff options
| author | Mai <mai.iam2048@gmail.com> | 2023-12-17 10:45:59 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-17 10:45:59 -0500 |
| commit | e6c85bf8f09c54297bc71fd37432d7daa7f22bcc (patch) | |
| tree | 0a18ec5b47311e24855ee2998a2a1a1753cda800 /Source | |
| parent | 519234949eef7c99bedaffe847990b1f14721886 (diff) | |
| parent | b5a95b78041a36871fc8406913ada8311bc6884a (diff) | |
Merge pull request #12428 from JosJuice/jitarm64-rlwinmx-shift-only
JitArm64: Add rlwinmx case for only shifting
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp index 19572875dd..1f39c43bc9 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp @@ -784,6 +784,10 @@ void JitArm64::rlwinmx(UGeckoInstruction inst) // Immediate mask AND(gpr.R(a), gpr.R(s), LogicalImm(mask, GPRSize::B32)); } + else if (mask == 0xFFFFFFFF) + { + ROR(gpr.R(a), gpr.R(s), 32 - inst.SH); + } else if (inst.ME == 31 && 31 < inst.SH + inst.MB) { // Bit select of the upper part |
