From 75a1310ba9cb991457c5bf3259087d354e82134b Mon Sep 17 00:00:00 2001 From: Fiora Date: Wed, 8 Oct 2014 11:44:37 -0700 Subject: [PATCH] CPU: improve instruction table flags for RC bits --- .../Interpreter/Interpreter_Tables.cpp | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/Source/Core/Core/PowerPC/Interpreter/Interpreter_Tables.cpp b/Source/Core/Core/PowerPC/Interpreter/Interpreter_Tables.cpp index b98b90e01357..50b68c3bee5b 100644 --- a/Source/Core/Core/PowerPC/Interpreter/Interpreter_Tables.cpp +++ b/Source/Core/Core/PowerPC/Interpreter/Interpreter_Tables.cpp @@ -99,39 +99,39 @@ static GekkoOPTemplate table4[] = { //SUBOP10 {0, Interpreter::ps_cmpu0, {"ps_cmpu0", OPTYPE_PS, FL_IN_FLOAT_AB | FL_SET_CRn | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, {32, Interpreter::ps_cmpo0, {"ps_cmpo0", OPTYPE_PS, FL_IN_FLOAT_AB | FL_SET_CRn | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {40, Interpreter::ps_neg, {"ps_neg", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_RC_BIT | FL_USE_FPU, 1, 0, 0, 0}}, - {136, Interpreter::ps_nabs, {"ps_nabs", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_RC_BIT | FL_USE_FPU, 1, 0, 0, 0}}, - {264, Interpreter::ps_abs, {"ps_abs", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_RC_BIT | FL_USE_FPU, 1, 0, 0, 0}}, + {40, Interpreter::ps_neg, {"ps_neg", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_RC_BIT_F | FL_USE_FPU, 1, 0, 0, 0}}, + {136, Interpreter::ps_nabs, {"ps_nabs", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_RC_BIT_F | FL_USE_FPU, 1, 0, 0, 0}}, + {264, Interpreter::ps_abs, {"ps_abs", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_RC_BIT_F | FL_USE_FPU, 1, 0, 0, 0}}, {64, Interpreter::ps_cmpu1, {"ps_cmpu1", OPTYPE_PS, FL_IN_FLOAT_AB | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {72, Interpreter::ps_mr, {"ps_mr", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_RC_BIT | FL_USE_FPU, 1, 0, 0, 0}}, - {96, Interpreter::ps_cmpo1, {"ps_cmpo1", OPTYPE_PS, FL_IN_FLOAT_AB | FL_RC_BIT | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {528, Interpreter::ps_merge00, { "ps_merge00", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_RC_BIT | FL_USE_FPU, 1, 0, 0, 0}}, - {560, Interpreter::ps_merge01, {"ps_merge01", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_RC_BIT | FL_USE_FPU, 1, 0, 0, 0}}, - {592, Interpreter::ps_merge10, {"ps_merge10", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_RC_BIT | FL_USE_FPU, 1, 0, 0, 0}}, - {624, Interpreter::ps_merge11, {"ps_merge11", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_RC_BIT | FL_USE_FPU, 1, 0, 0, 0}}, + {72, Interpreter::ps_mr, {"ps_mr", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_RC_BIT_F | FL_USE_FPU, 1, 0, 0, 0}}, + {96, Interpreter::ps_cmpo1, {"ps_cmpo1", OPTYPE_PS, FL_IN_FLOAT_AB | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {528, Interpreter::ps_merge00, { "ps_merge00", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_RC_BIT_F | FL_USE_FPU, 1, 0, 0, 0}}, + {560, Interpreter::ps_merge01, {"ps_merge01", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_RC_BIT_F | FL_USE_FPU, 1, 0, 0, 0}}, + {592, Interpreter::ps_merge10, {"ps_merge10", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_RC_BIT_F | FL_USE_FPU, 1, 0, 0, 0}}, + {624, Interpreter::ps_merge11, {"ps_merge11", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_RC_BIT_F | FL_USE_FPU, 1, 0, 0, 0}}, {1014, Interpreter::dcbz_l, {"dcbz_l", OPTYPE_SYSTEM, FL_IN_A0B | FL_LOADSTORE, 1, 0, 0, 0}}, }; static GekkoOPTemplate table4_2[] = { - {10, Interpreter::ps_sum0, {"ps_sum0", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {11, Interpreter::ps_sum1, {"ps_sum1", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {12, Interpreter::ps_muls0, {"ps_muls0", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AC | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {13, Interpreter::ps_muls1, {"ps_muls1", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AC | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {14, Interpreter::ps_madds0, {"ps_madds0", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {15, Interpreter::ps_madds1, {"ps_madds1", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {18, Interpreter::ps_div, {"ps_div", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_USE_FPU | FL_SET_FPRF, 17, 0, 0, 0}}, - {20, Interpreter::ps_sub, {"ps_sub", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {21, Interpreter::ps_add, {"ps_add", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {23, Interpreter::ps_sel, {"ps_sel", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_USE_FPU, 1, 0, 0, 0}}, - {24, Interpreter::ps_res, {"ps_res", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {25, Interpreter::ps_mul, {"ps_mul", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AC | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {26, Interpreter::ps_rsqrte, {"ps_rsqrte", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_USE_FPU | FL_SET_FPRF, 2, 0, 0, 0}}, - {28, Interpreter::ps_msub, {"ps_msub", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {29, Interpreter::ps_madd, {"ps_madd", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {30, Interpreter::ps_nmsub, {"ps_nmsub", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, - {31, Interpreter::ps_nmadd, {"ps_nmadd", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {10, Interpreter::ps_sum0, {"ps_sum0", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {11, Interpreter::ps_sum1, {"ps_sum1", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {12, Interpreter::ps_muls0, {"ps_muls0", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AC | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {13, Interpreter::ps_muls1, {"ps_muls1", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AC | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {14, Interpreter::ps_madds0, {"ps_madds0", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {15, Interpreter::ps_madds1, {"ps_madds1", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {18, Interpreter::ps_div, {"ps_div", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 17, 0, 0, 0}}, + {20, Interpreter::ps_sub, {"ps_sub", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {21, Interpreter::ps_add, {"ps_add", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AB | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {23, Interpreter::ps_sel, {"ps_sel", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_RC_BIT_F | FL_USE_FPU, 1, 0, 0, 0}}, + {24, Interpreter::ps_res, {"ps_res", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {25, Interpreter::ps_mul, {"ps_mul", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_AC | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {26, Interpreter::ps_rsqrte, {"ps_rsqrte", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_B | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 2, 0, 0, 0}}, + {28, Interpreter::ps_msub, {"ps_msub", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {29, Interpreter::ps_madd, {"ps_madd", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {30, Interpreter::ps_nmsub, {"ps_nmsub", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, + {31, Interpreter::ps_nmadd, {"ps_nmadd", OPTYPE_PS, FL_OUT_FLOAT_D | FL_IN_FLOAT_ABC | FL_RC_BIT_F | FL_USE_FPU | FL_SET_FPRF, 1, 0, 0, 0}}, }; @@ -269,9 +269,9 @@ static GekkoOPTemplate table31[] = {982, Interpreter::icbi, {"icbi", OPTYPE_SYSTEM, FL_ENDBLOCK, 4, 0, 0, 0}}, // Unused instructions on GC - {310, Interpreter::eciwx, {"eciwx", OPTYPE_INTEGER, FL_RC_BIT, 1, 0, 0, 0}}, - {438, Interpreter::ecowx, {"ecowx", OPTYPE_INTEGER, FL_RC_BIT, 1, 0, 0, 0}}, - {854, Interpreter::eieio, {"eieio", OPTYPE_INTEGER, FL_RC_BIT, 1, 0, 0, 0}}, + {310, Interpreter::eciwx, {"eciwx", OPTYPE_SYSTEM, FL_IN_AB | FL_OUT_S, 1, 0, 0, 0}}, + {438, Interpreter::ecowx, {"ecowx", OPTYPE_SYSTEM, FL_IN_AB | FL_IN_S, 1, 0, 0, 0}}, + {854, Interpreter::eieio, {"eieio", OPTYPE_SYSTEM, 0, 1, 0, 0, 0}}, {306, Interpreter::tlbie, {"tlbie", OPTYPE_SYSTEM, 0, 1, 0, 0, 0}}, {370, Interpreter::tlbia, {"tlbia", OPTYPE_SYSTEM, 0, 1, 0, 0, 0}}, {566, Interpreter::tlbsync, {"tlbsync", OPTYPE_SYSTEM, 0, 1, 0, 0, 0}},