This commit is contained in:
JosJuice 2025-04-27 02:06:25 -04:00 committed by GitHub
commit 5ff812f391
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2266,12 +2266,11 @@ void JitArm64::rlwimix(UGeckoInstruction inst)
gpr.BindToRegister(a, true); gpr.BindToRegister(a, true);
ARM64Reg RA = gpr.R(a); ARM64Reg RA = gpr.R(a);
auto WA = gpr.GetScopedReg(); auto WA = gpr.GetScopedReg();
auto WB = a == s ? gpr.GetScopedReg() : Arm64GPRCache::ScopedARM64Reg(RA); const u32 inverted_mask = ~mask;
MOVI2R(WA, mask); AND(WA, gpr.R(s), LogicalImm(std::rotl(mask, rot_dist), GPRSize::B32));
BIC(WB, RA, WA); AND(RA, RA, LogicalImm(inverted_mask, GPRSize::B32));
AND(WA, WA, gpr.R(s), ArithOption(gpr.R(s), ShiftType::ROR, rot_dist)); ORR(RA, RA, WA, ArithOption(WA, ShiftType::ROR, rot_dist));
ORR(RA, WB, WA);
} }
if (inst.Rc) if (inst.Rc)