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:
MerryMage
2020-05-10 13:57:39 +01:00
parent 9a38c7324f
commit 6df660c889
5 changed files with 22 additions and 10 deletions

View File

@@ -8,35 +8,43 @@
namespace Dynarmic::A32 {
bool ArmTranslatorVisitor::arm_LDRBT() {
ASSERT_FALSE("System instructions unimplemented");
// System instructions unimplemented
return UndefinedInstruction();
}
bool ArmTranslatorVisitor::arm_LDRHT() {
ASSERT_FALSE("System instructions unimplemented");
// System instructions unimplemented
return UndefinedInstruction();
}
bool ArmTranslatorVisitor::arm_LDRSBT() {
ASSERT_FALSE("System instructions unimplemented");
// System instructions unimplemented
return UndefinedInstruction();
}
bool ArmTranslatorVisitor::arm_LDRSHT() {
ASSERT_FALSE("System instructions unimplemented");
// System instructions unimplemented
return UndefinedInstruction();
}
bool ArmTranslatorVisitor::arm_LDRT() {
ASSERT_FALSE("System instructions unimplemented");
// System instructions unimplemented
return UndefinedInstruction();
}
bool ArmTranslatorVisitor::arm_STRBT() {
ASSERT_FALSE("System instructions unimplemented");
// System instructions unimplemented
return UndefinedInstruction();
}
bool ArmTranslatorVisitor::arm_STRHT() {
ASSERT_FALSE("System instructions unimplemented");
// System instructions unimplemented
return UndefinedInstruction();
}
bool ArmTranslatorVisitor::arm_STRT() {
ASSERT_FALSE("System instructions unimplemented");
// System instructions unimplemented
return UndefinedInstruction();
}
static IR::U32 GetAddress(A32::IREmitter& ir, bool P, bool U, bool W, Reg n, IR::U32 offset) {