From 72608b7af63e17adbbfaa99f9e77eb6a70a8370c Mon Sep 17 00:00:00 2001 From: bunnei Date: Thu, 4 Aug 2016 23:14:15 -0400 Subject: [PATCH] arm: Handle Cond::NV (some 3DS games use this despite being obsolete). --- src/frontend/translate/translate_arm.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/frontend/translate/translate_arm.cpp b/src/frontend/translate/translate_arm.cpp index cff8de81..25f52676 100644 --- a/src/frontend/translate/translate_arm.cpp +++ b/src/frontend/translate/translate_arm.cpp @@ -53,13 +53,17 @@ bool ArmTranslatorVisitor::ConditionPassed(Cond cond) { "(i.e.: one and only one conditional instruction per block)"); ASSERT_MSG(cond_state != ConditionalState::Break, "This should never happen. We requested a break but that wasn't honored."); - ASSERT_MSG(cond != Cond::NV, "NV conditional is obsolete"); if (cond == Cond::AL) { // Everything is fine with the world return true; } + if (cond == Cond::NV) { + // NV conditional is obsolete, but still seems to be used in some places! + return false; + } + // non-AL cond if (!ir.block.instructions.empty()) {