diff --git a/CMakeLists.txt b/CMakeLists.txt index a91d37e..8ed1045 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required (VERSION 3.20) set(THIRDPARTY_ROOT ${CMAKE_SOURCE_DIR}/thirdparty) set(CMAKE_CXX_STANDARD 23) +set(BUILD_SHARED_LIBS OFF) # Enable Hot Reload for MSVC compilers if supported. if (POLICY CMP0141) diff --git a/PowerRecomp/recompiler.cpp b/PowerRecomp/recompiler.cpp index 63e39bb..dd9231d 100644 --- a/PowerRecomp/recompiler.cpp +++ b/PowerRecomp/recompiler.cpp @@ -1395,7 +1395,7 @@ bool Recompiler::Recompile(const Function& fn, uint32_t base, const ppc_insn& in case PPC_INST_VMADDFP: case PPC_INST_VMADDFP128: println("\tctx.fpscr.setFlushMode(true);"); - println("\t_mm_store_ps(ctx.v{}.f32, _mm_fmadd_ps(_mm_load_ps(ctx.v{}.f32), _mm_load_ps(ctx.v{}.f32), _mm_load_ps(ctx.v{}.f32)));", insn.operands[0], insn.operands[1], insn.operands[2], insn.operands[3]); + println("\t_mm_store_ps(ctx.v{}.f32, _mm_add_ps(_mm_mul_ps(_mm_load_ps(ctx.v{}.f32), _mm_load_ps(ctx.v{}.f32)), _mm_load_ps(ctx.v{}.f32)));", insn.operands[0], insn.operands[1], insn.operands[2], insn.operands[3]); break; case PPC_INST_VMAXFP: @@ -1812,7 +1812,7 @@ void Recompiler::Recompile(const char* directoryPath) println("\t{{ 0, nullptr }}"); println("}};"); - SaveCurrentOutData(directoryPath, "ppc_func_mapping.h"); + SaveCurrentOutData(directoryPath, "ppc_func_mapping.cpp"); } for (size_t i = 0; i < functions.size(); i++) diff --git a/PowerRecomp/test_recompiler.cpp b/PowerRecomp/test_recompiler.cpp index e01bb6a..7cc452f 100644 --- a/PowerRecomp/test_recompiler.cpp +++ b/PowerRecomp/test_recompiler.cpp @@ -132,7 +132,7 @@ void TestRecompiler::RecompileTests(const char* srcDirectoryPath, const char* ds std::println(file, "PPC_FUNC({});\n", symbol->second); std::println(file, "void {}(uint8_t* base) {{", name); std::println(file, "\tPPCContext ctx{{}};"); - std::println(file, "\tctx.fpscr.loadFromGuest();"); + std::println(file, "\tctx.fpscr.loadFromHost();"); while (getline() && !str.empty() && str[0] == '#') {