JitIL: Commented out the code which cause bugs in STGJAF OP movie.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6017 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
nodchip 2010-07-31 15:32:02 +00:00
parent 453f7c67cd
commit 2213d423bf
1 changed files with 13 additions and 12 deletions

View File

@ -1144,19 +1144,20 @@ void IRBuilder::simplifyCommutative(unsigned Opcode, InstLoc& Op1, InstLoc& Op2)
Op2 = FoldBiOp(Opcode, getOp2(Op1Old), getOp2(Op2Old)); Op2 = FoldBiOp(Opcode, getOp2(Op1Old), getOp2(Op2Old));
} }
// ((w op x) op (y op z)) => (((w op x) op y) op z) // FIXME: Following code has a bug.
if (getOpcode(*Op1) == Opcode && getOpcode(*Op2) == Opcode) { //// ((w op x) op (y op z)) => (((w op x) op y) op z)
// Sort the operands where the complexities will be descending order. //if (getOpcode(*Op1) == Opcode && getOpcode(*Op2) == Opcode) {
std::pair<unsigned, InstLoc> ops[4]; // // Sort the operands where the complexities will be descending order.
ops[0] = std::make_pair(getComplexity(getOp1(Op1)), getOp1(Op1)); // std::pair<unsigned, InstLoc> ops[4];
ops[1] = std::make_pair(getComplexity(getOp2(Op1)), getOp2(Op1)); // ops[0] = std::make_pair(getComplexity(getOp1(Op1)), getOp1(Op1));
ops[2] = std::make_pair(getComplexity(getOp1(Op2)), getOp1(Op2)); // ops[1] = std::make_pair(getComplexity(getOp2(Op1)), getOp2(Op1));
ops[3] = std::make_pair(getComplexity(getOp2(Op2)), getOp2(Op2)); // ops[2] = std::make_pair(getComplexity(getOp1(Op2)), getOp1(Op2));
std::sort(ops, ops + 4, std::greater<std::pair<unsigned, InstLoc> >()); // ops[3] = std::make_pair(getComplexity(getOp2(Op2)), getOp2(Op2));
// std::sort(ops, ops + 4, std::greater<std::pair<unsigned, InstLoc> >());
Op1 = FoldBiOp(Opcode, FoldBiOp(Opcode, ops[0].second, ops[1].second), ops[2].second); // Op1 = FoldBiOp(Opcode, FoldBiOp(Opcode, ops[0].second, ops[1].second), ops[2].second);
Op2 = ops[3].second; // Op2 = ops[3].second;
} //}
} }
bool IRBuilder::maskedValueIsZero(InstLoc Op1, InstLoc Op2) const { bool IRBuilder::maskedValueIsZero(InstLoc Op1, InstLoc Op2) const {