mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 00:59:44 -06:00
JitArm64: Fix rlwinmx.
Seems like I was wrong that ANDI2R doesn't require a temporary register here. There is *one* case when the mask won't fit in the ARM AND instruction: mask = 0xFFFFFFFF But let's just use MOV instead of AND here for this case...
This commit is contained in:
@ -532,7 +532,12 @@ void JitArm64::rlwinmx(UGeckoInstruction inst)
|
||||
|
||||
gpr.BindToRegister(a, a == s);
|
||||
|
||||
if (!inst.SH)
|
||||
if (!inst.SH && mask == 0xFFFFFFFF)
|
||||
{
|
||||
if (a != s)
|
||||
MOV(gpr.R(a), gpr.R(s));
|
||||
}
|
||||
else if (!inst.SH)
|
||||
{
|
||||
// Immediate mask
|
||||
ANDI2R(gpr.R(a), gpr.R(s), mask);
|
||||
|
Reference in New Issue
Block a user