Add FP fres instruction emulation

This commit is contained in:
Jonas Maebe 2019-12-23 18:37:15 +01:00
parent 02c0627452
commit a84735d3e9
3 changed files with 7 additions and 0 deletions

View File

@ -57,6 +57,7 @@ template void powerpc_cpu::execute_fp_arith<double, op_fnmadds, operand_fp_RD, o
template void powerpc_cpu::execute_fp_arith<double, op_fnmsub, operand_fp_RD, operand_fp_RA, operand_fp_RC, operand_fp_RB, RC_BIT_G, true>(uint32);
template void powerpc_cpu::execute_fp_arith<double, op_fnmsubs, operand_fp_RD, operand_fp_RA, operand_fp_RC, operand_fp_RB, RC_BIT_G, true>(uint32);
template void powerpc_cpu::execute_fp_round<RC_BIT_G>(uint32);
template void powerpc_cpu::execute_fp_arith<double, op_fres, operand_fp_RD, operand_fp_RB, operand_fp_NONE, operand_fp_NONE, RC_BIT_G, true>(uint32);
template void powerpc_cpu::execute_fp_arith<double, op_frsqrte, operand_fp_RD, operand_fp_RB, operand_fp_NONE, operand_fp_NONE, RC_BIT_G, true>(uint32);
template void powerpc_cpu::execute_fp_arith<double, op_fsel, operand_fp_RD, operand_fp_RA, operand_fp_RC, operand_fp_RB, RC_BIT_G, false>(uint32);
template void powerpc_cpu::execute_fp_arith<double, op_fsub, operand_fp_RD, operand_fp_RA, operand_fp_RB, operand_fp_NONE, RC_BIT_G, true>(uint32);

View File

@ -470,6 +470,11 @@ const powerpc_cpu::instr_info_t powerpc_cpu::powerpc_ii_table[] = {
PPC_I(FNMSUBS),
A_form, 59, 30, CFLOW_NORMAL
},
{ "fres",
EXECUTE_FP_ARITH(double, fres, RD, RB, NONE, NONE, RC_BIT_G, true),
PPC_I(FRES),
A_form, 59, 24, CFLOW_NORMAL
},
{ "frsp",
EXECUTE_1(fp_round, RC_BIT_G),
PPC_I(FRSP),

View File

@ -99,6 +99,7 @@ enum powerpc_instruction {
PPC_I(FNMADDS),
PPC_I(FNMSUB),
PPC_I(FNMSUBS),
PPC_I(FRES),
PPC_I(FRSP),
PPC_I(FRSQRTE),
PPC_I(FSEL),