activate code reordering for better branch merging... it seems to work :P let me know if this breaks something.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1552 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
hrydgard 2008-12-15 23:11:42 +00:00
parent 3de4df29a3
commit a4fc0da8cc
2 changed files with 10 additions and 12 deletions

View file

@ -288,8 +288,6 @@ void FixUpInternalBranches(CodeOp *code, int begin, int end)
// IMPORTANT - CURRENTLY ASSUMES THAT A IS A COMPARE
bool CanSwapAdjacentOps(const CodeOp &a, const CodeOp &b)
{
return false; // Currently deactivated in SVN.
const GekkoOPInfo *a_info = GetOpInfo(a.inst);
const GekkoOPInfo *b_info = GetOpInfo(b.inst);
int a_flags = a_info->flags;
@ -315,8 +313,8 @@ bool CanSwapAdjacentOps(const CodeOp &a, const CodeOp &b)
case OPTYPE_INTEGER:
case OPTYPE_LOAD:
case OPTYPE_STORE:
case OPTYPE_LOADFP:
case OPTYPE_STOREFP:
//case OPTYPE_LOADFP:
//case OPTYPE_STOREFP:
break;
default:
return false;

View file

@ -302,7 +302,7 @@ GekkoOPTemplate table31[] =
{1014, Interpreter::dcbz, Jit64::dcbz, {"dcbz", OPTYPE_DCACHE, 0, 4}},
//load word
{23, Interpreter::lwzx, Jit64::lwzx, {"lwzx", OPTYPE_LOAD, FL_OUT_D | FL_IN_A0 | FL_IN_B}},
{23, Interpreter::lwzx, Jit64::lwzx, {"lwzx", OPTYPE_LOAD, FL_OUT_D | FL_IN_A0 | FL_IN_B}},
{55, Interpreter::lwzux, Jit64::Default, {"lwzux", OPTYPE_LOAD, FL_OUT_D | FL_OUT_A | FL_IN_A | FL_IN_B}},
//load halfword
@ -310,7 +310,7 @@ GekkoOPTemplate table31[] =
{311, Interpreter::lhzux, Jit64::Default, {"lhzux", OPTYPE_LOAD, FL_OUT_D | FL_OUT_A | FL_IN_A | FL_IN_B}},
//load halfword signextend
{343, Interpreter::lhax, Jit64::lhax, {"lhax", OPTYPE_LOAD, FL_OUT_D | FL_IN_A0 | FL_IN_B}},
{343, Interpreter::lhax, Jit64::lhax, {"lhax", OPTYPE_LOAD, FL_OUT_D | FL_IN_A0 | FL_IN_B}},
{375, Interpreter::lhaux, Jit64::Default, {"lhaux", OPTYPE_LOAD, FL_OUT_D | FL_OUT_A | FL_IN_A | FL_IN_B}},
//load byte
@ -322,12 +322,12 @@ GekkoOPTemplate table31[] =
{790, Interpreter::lhbrx, Jit64::Default, {"lhbrx", OPTYPE_LOAD, FL_OUT_D | FL_IN_A0 | FL_IN_B}},
// Conditional load/store (Wii SMP)
{150, Interpreter::stwcxd, Jit64::Default, {"stwcxd", OPTYPE_STORE, 0}},
{20, Interpreter::lwarx, Jit64::Default, {"lwarx", OPTYPE_LOAD, FL_OUT_D | FL_IN_A0B}},
{150, Interpreter::stwcxd, Jit64::Default, {"stwcxd", OPTYPE_STORE, FL_EVIL}},
{20, Interpreter::lwarx, Jit64::Default, {"lwarx", OPTYPE_LOAD, FL_EVIL | FL_OUT_D | FL_IN_A0B}},
//load string (interpret these)
{533, Interpreter::lswx, Jit64::Default, {"lswx", OPTYPE_LOAD, FL_IN_A | FL_OUT_D}},
{597, Interpreter::lswi, Jit64::Default, {"lswi", OPTYPE_LOAD, FL_IN_AB | FL_OUT_D}},
{533, Interpreter::lswx, Jit64::Default, {"lswx", OPTYPE_LOAD, FL_EVIL | FL_IN_A | FL_OUT_D}},
{597, Interpreter::lswi, Jit64::Default, {"lswi", OPTYPE_LOAD, FL_EVIL | FL_IN_AB | FL_OUT_D}},
//store word
{151, Interpreter::stwx, Jit64::Default, {"stwx", OPTYPE_STORE, FL_IN_A0 | FL_IN_B}},
@ -345,8 +345,8 @@ GekkoOPTemplate table31[] =
{662, Interpreter::stwbrx, Jit64::Default, {"stwbrx", OPTYPE_STORE, FL_IN_A0 | FL_IN_B}},
{918, Interpreter::sthbrx, Jit64::Default, {"sthbrx", OPTYPE_STORE, FL_IN_A | FL_IN_B}},
{661, Interpreter::stswx, Jit64::Default, {"stswx", OPTYPE_STORE, 0}},
{725, Interpreter::stswi, Jit64::Default, {"stswi", OPTYPE_STORE, 0}},
{661, Interpreter::stswx, Jit64::Default, {"stswx", OPTYPE_STORE, FL_EVIL}},
{725, Interpreter::stswi, Jit64::Default, {"stswi", OPTYPE_STORE, FL_EVIL}},
// fp load/store
{535, Interpreter::lfsx, Jit64::lfsx, {"lfsx", OPTYPE_LOADFP, FL_IN_A0 | FL_IN_B}},