From 40a4ca31b98028f96af514665a30f4fafbec4d82 Mon Sep 17 00:00:00 2001 From: dingusdev <52434309+dingusdev@users.noreply.github.com> Date: Sun, 7 Apr 2024 07:23:30 -0700 Subject: [PATCH] More minor floating-point clean-up --- cpu/ppc/ppcfpopcodes.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cpu/ppc/ppcfpopcodes.cpp b/cpu/ppc/ppcfpopcodes.cpp index a42bb18..42e50b1 100644 --- a/cpu/ppc/ppcfpopcodes.cpp +++ b/cpu/ppc/ppcfpopcodes.cpp @@ -227,7 +227,7 @@ template void dppc_interpreter::ppc_fnmsub() { ppc_grab_regsfpdabc(ppc_cur_instruction); - double ppc_dblresult64_d = std::fma(-val_reg_a, val_reg_c, val_reg_b); + double ppc_dblresult64_d = -std::fma(val_reg_a, val_reg_c, -val_reg_b); ppc_store_dfpresult_flt(reg_d, ppc_dblresult64_d); fpresult_update(ppc_dblresult64_d); @@ -242,8 +242,7 @@ template void dppc_interpreter::ppc_fadds() { ppc_grab_regsfpdab(ppc_cur_instruction); - float ppc_fltresult32_d = val_reg_a + val_reg_b; - double ppc_dblresult64_d = (double)ppc_fltresult32_d; + double ppc_dblresult64_d = (float)(val_reg_a + val_reg_b); ppc_store_sfpresult_flt(reg_d, ppc_dblresult64_d); fpresult_update(ppc_dblresult64_d); @@ -349,7 +348,7 @@ template void dppc_interpreter::ppc_fnmsubs() { ppc_grab_regsfpdabc(ppc_cur_instruction); - double ppc_dblresult64_d = (float)std::fma(-val_reg_a, val_reg_c, val_reg_b); + double ppc_dblresult64_d = -(float)std::fma(val_reg_a, val_reg_c, -val_reg_b); ppc_store_sfpresult_flt(reg_d, ppc_dblresult64_d); fpresult_update(ppc_dblresult64_d);