diff options
| author | JosJuice <josjuice@gmail.com> | 2023-12-16 17:34:33 +0100 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2023-12-16 17:34:33 +0100 |
| commit | b5a95b78041a36871fc8406913ada8311bc6884a (patch) | |
| tree | a2eabe9ec5a618dee98bc50919e9a35378cc9ed5 /Source/Core | |
| parent | f87a4f03855208397972cbb1f545cd0cd5122428 (diff) | |
JitArm64: Add rlwinmx case for only shifting
Small optimization.
Diffstat (limited to 'Source/Core')
| -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 0e8dd60658..fe8ce107cd 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, 32)); } + 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 |
