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 c54855b05d
commit 485a9e14c9
6 changed files with 28 additions and 35 deletions

View file

@ -517,8 +517,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,