This commit is contained in:
JosJuice 2025-04-19 14:31:45 +02:00 committed by GitHub
commit 98a9017ed1
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);
ARM64Reg RA = gpr.R(a);
auto WA = gpr.GetScopedReg();
auto WB = a == s ? gpr.GetScopedReg() : Arm64GPRCache::ScopedARM64Reg(RA);
const u32 inverted_mask = ~mask;
MOVI2R(WA, mask);
BIC(WB, RA, WA);
AND(WA, WA, gpr.R(s), ArithOption(gpr.R(s), ShiftType::ROR, rot_dist));
ORR(RA, WB, WA);
AND(WA, gpr.R(s), LogicalImm(std::rotl(mask, rot_dist), GPRSize::B32));
AND(RA, RA, LogicalImm(inverted_mask, GPRSize::B32));
ORR(RA, RA, WA, ArithOption(WA, ShiftType::ROR, rot_dist));
}
if (inst.Rc)