[ARM64] Initial commit for arm64 backend

Based entirely off existing xbyak x86 implementation and available
tests. Still needs a lot of optimization and testing on non-Windows
platforms.

So far passes all tests and boots at least some games on Windows.
This commit is contained in:
Herman S.
2026-03-21 01:17:18 +09:00
parent c6e112bcd8
commit 883c2030d0
44 changed files with 13428 additions and 140 deletions

View File

@@ -5,7 +5,7 @@ include(CMakeParseArguments)
# Platform suffix lists for file filtering
set(XE_PLATFORM_SUFFIXES
_win _linux _posix _gnulinux _x11 _gtk _android _mac
_win _linux _posix _gnulinux _x11 _gtk _android _mac _amd64 _arm64
)
# xe_platform_sources(target base_path [RECURSIVE])
@@ -78,6 +78,17 @@ function(xe_platform_sources target base_path)
endif()
list(APPEND _sources ${_plat_sources})
# Add back architecture-specific files
if(XE_TARGET_X86_64)
file(${glob_mode} _arch_sources "${base_path}/*_amd64.h" "${base_path}/*_amd64.cc")
elseif(XE_TARGET_AARCH64)
file(${glob_mode} _arch_sources "${base_path}/*_arm64.h" "${base_path}/*_arm64.cc")
endif()
if(_arch_sources)
list(APPEND _sources ${_arch_sources})
endif()
target_sources(${target} PRIVATE ${_sources})
endfunction()