arm64: Apple Silicon support (#4390)

Got OpenGOAL building and running natively on Apple Silicon.

This is the rest of the port after the smaller arm64 emitter PRs. I was
told pushing one big PR was okay. This covers goalc, the runtime,
linker, kernel and the GOAL asm.

The new paths have native tests. I also found four more emitter bugs
while running it. They're in scalar sqrt, 128-bit stores, scalar max and
indexed stores above 4 GB.

Spent a while cleaning it up so it's easier to read. 4am gotta sleep lol

Closes #3841

---------

Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
This commit is contained in:
Parker
2026-08-24 20:22:47 -07:00
committed by GitHub
parent 553a713aed
commit de25f39439
117 changed files with 10816 additions and 4039 deletions
+1 -1
View File
@@ -51,7 +51,7 @@ class WithMinimalGameTests : public ::testing::Test {
void TearDown() {}
struct SharedCompiler {
SharedCompiler(GameVersion v) : compiler(v, emitter::InstructionSet::X86) {}
SharedCompiler(GameVersion v) : compiler(v, emitter::kNativeInstructionSet) {}
std::thread runtime_thread;
Compiler compiler;
GoalTest::CompilerTestRunner runner;