Implement float operations for live generator, switch to native rounding mode for cop1 cs, fix 128-bit typedef errors

This commit is contained in:
Mr-Wiseguy 2024-12-10 17:47:38 -05:00
parent 8b019567bc
commit 9fa9adbe3a
6 changed files with 354 additions and 91 deletions

View file

@ -227,10 +227,14 @@ TestStats run_test(const std::filesystem::path& tests_dir, const std::string& te
auto before_execution = std::chrono::system_clock::now();
int old_rounding = fegetround();
// Run the generated code.
ctx.r29 = 0xFFFFFFFF80000000 + rdram.size() - 0x10; // Set the stack pointer.
output.functions[start_func_index](rdram.data(), &ctx);
fesetround(old_rounding);
auto after_execution = std::chrono::system_clock::now();
// Check the result of running the code.