summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorMai <mai.iam2048@gmail.com>2023-12-17 10:45:59 -0500
committerGitHub <noreply@github.com>2023-12-17 10:45:59 -0500
commite6c85bf8f09c54297bc71fd37432d7daa7f22bcc (patch)
tree0a18ec5b47311e24855ee2998a2a1a1753cda800 /Source
parent519234949eef7c99bedaffe847990b1f14721886 (diff)
parentb5a95b78041a36871fc8406913ada8311bc6884a (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.cpp4
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