mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-03-09 03:56:28 +00:00
fuzz_arm: Ensure all instructions are fuzzed
* VFP instructions were not getting fuzzed due to matching coprocessor instructions (as invalid instructions) * Fix VPOP writeback for doubles when (imm8 & 1) == 1 * Do not accidentally fuzz unimplemented unconditional instructions
This commit is contained in:
@@ -643,7 +643,9 @@ bool ArmTranslatorVisitor::vfp_VPOP(Cond cond, bool D, size_t Vd, bool sz, Imm<8
|
||||
return true;
|
||||
}
|
||||
|
||||
const u32 imm32 = imm8.ZeroExtend() << 2;
|
||||
auto address = ir.GetRegister(Reg::SP);
|
||||
ir.SetRegister(Reg::SP, ir.Add(address, ir.Imm32(imm32)));
|
||||
|
||||
for (size_t i = 0; i < regs; ++i) {
|
||||
if (sz) {
|
||||
@@ -662,7 +664,6 @@ bool ArmTranslatorVisitor::vfp_VPOP(Cond cond, bool D, size_t Vd, bool sz, Imm<8
|
||||
}
|
||||
}
|
||||
|
||||
ir.SetRegister(Reg::SP, address);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user