mirror of
https://github.com/open-goal/jak-project
synced 2026-09-06 19:21:00 -04:00
goalc: Get CodeTester tests passing on Arm64 (only targetting macOS atm) (#3290)
This PR does the following: - Designs a mechanism by which arm64 instructions can be encoded and emitted - Dispatch our higher-level instruction emitting calls to either x86 or arm64 instructions depending on what the compiler is set to (defaults to x86) - Bare minimum scaffolding to get the arm64 instructions successfully executing atleast on apple silicon - Implement enough instructions to get the codetester test suite passing on arm
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*!
|
||||
* @file ObjectGenerator.cpp
|
||||
* Tool to build GOAL object files. Will eventually support v3 and v4.
|
||||
* Tool to build GOAL object files.
|
||||
*
|
||||
* There are 5 steps:
|
||||
* 1. The user adds static data / instructions and specifies links.
|
||||
@@ -21,11 +21,13 @@
|
||||
|
||||
#include "goalc/debugger/DebugInfo.h"
|
||||
|
||||
#include "fmt/format.h"
|
||||
|
||||
namespace emitter {
|
||||
|
||||
ObjectGenerator::ObjectGenerator(GameVersion version) : m_version(version) {}
|
||||
ObjectGenerator::ObjectGenerator(GameVersion version)
|
||||
: m_version(version), m_instruction_set(InstructionSet::X86) {}
|
||||
|
||||
ObjectGenerator::ObjectGenerator(GameVersion version, InstructionSet instr_set)
|
||||
: m_version(version), m_instruction_set(instr_set) {}
|
||||
|
||||
/*!
|
||||
* Build an object file with the v3 format.
|
||||
|
||||
Reference in New Issue
Block a user