[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

@@ -32,9 +32,13 @@
#define ARCH_X86 0
#define ARCH_X86_64 0
#if defined(__aarch64__)
/* ARM64 (Android) */
#define SLIBSUF ".so"
#if defined(__aarch64__) || defined(_M_ARM64)
/* ARM64 */
#if defined(_WIN32)
#define SLIBSUF ".dll"
#else
#define SLIBSUF ".so"
#endif
#undef ARCH_AARCH64
#define ARCH_AARCH64 1
#define HAVE_ARMV8 1
@@ -43,9 +47,15 @@
#define HAVE_ARMV8_EXTERNAL 1
#define HAVE_NEON_EXTERNAL 1
#define HAVE_VFP_EXTERNAL 1
#define HAVE_ARMV8_INLINE 1
#define HAVE_NEON_INLINE 1
#define HAVE_VFP_INLINE 1
#if defined(_MSC_VER)
#define HAVE_ARMV8_INLINE 0
#define HAVE_NEON_INLINE 0
#define HAVE_VFP_INLINE 0
#else
#define HAVE_ARMV8_INLINE 1
#define HAVE_NEON_INLINE 1
#define HAVE_VFP_INLINE 1
#endif
#define HAVE_INTRINSICS_NEON 1
#define HAVE_AS_FUNC 0
#define HAVE_AS_ARCH_DIRECTIVE 0