Split Negate operation into NegateFloat and NegateDouble, added support for custom recompiler backends

This commit is contained in:
Mr-Wiseguy 2024-10-02 23:05:39 -04:00
parent 772c1d0252
commit c7543aa99b
6 changed files with 28 additions and 35 deletions

View file

@ -520,8 +520,10 @@ namespace N64Recomp {
}
};
bool recompile_function(const Context& context, const Function& func, std::ofstream& output_file, std::span<std::vector<uint32_t>> static_funcs, bool tag_reference_relocs);
bool recompile_function_luajit(const Context& context, const Function& func, std::ofstream& output_file, std::span<std::vector<uint32_t>> static_funcs, bool tag_reference_relocs);
class Generator;
bool recompile_function(const Context& context, const Function& func, std::ostream& output_file, std::span<std::vector<uint32_t>> static_funcs, bool tag_reference_relocs);
bool recompile_function_luajit(const Context& context, const Function& func, std::ostream& output_file, std::span<std::vector<uint32_t>> static_funcs, bool tag_reference_relocs);
bool recompile_function_custom(Generator& generator, const Context& context, const Function& func, std::ostream& output_file, std::span<std::vector<uint32_t>> static_funcs_out, bool tag_reference_relocs);
enum class ModSymbolsError {
Good,

View file

@ -28,13 +28,12 @@ namespace N64Recomp {
ToU32,
ToS64,
ToU64,
NegateS32,
NegateS64,
Lui,
Mask5, // Mask to 5 bits
Mask6, // Mask to 5 bits
ToInt32, // Functionally equivalent to ToS32, only exists for parity with old codegen
Negate,
NegateFloat,
NegateDouble,
AbsFloat,
AbsDouble,
SqrtFloat,