Browse Source

dyncom: Simplify some comparisons in CondPassed

nce_cpp
Lioncash 10 years ago
parent
commit
3fb10e8f62
  1. 8
      src/core/arm/dyncom/arm_dyncom_interpreter.cpp

8
src/core/arm/dyncom/arm_dyncom_interpreter.cpp

@ -77,13 +77,13 @@ static bool CondPassed(ARMul_State* cpu, unsigned int cond) {
case ConditionCode::LS: case ConditionCode::LS:
return (!c_flag || z_flag); return (!c_flag || z_flag);
case ConditionCode::GE: case ConditionCode::GE:
return ((!n_flag && !v_flag) || (n_flag && v_flag));
return (n_flag == v_flag);
case ConditionCode::LT: case ConditionCode::LT:
return ((n_flag && !v_flag) || (!n_flag && v_flag));
return (n_flag != v_flag);
case ConditionCode::GT: case ConditionCode::GT:
return ((!n_flag && !v_flag && !z_flag) || (n_flag && v_flag && !z_flag));
return (!z_flag && (n_flag == v_flag));
case ConditionCode::LE: case ConditionCode::LE:
return ((n_flag && !v_flag) || (!n_flag && v_flag)) || z_flag;
return (z_flag || (n_flag != v_flag));
case ConditionCode::AL: case ConditionCode::AL:
case ConditionCode::NV: // Unconditional case ConditionCode::NV: // Unconditional
return true; return true;

Loading…
Cancel
Save