Skip to content

Added ARM64 (Apple Silicon) support using sse2neon#50

Merged
ran-j merged 2 commits intoran-j:mainfrom
emartinez-dev:feature/add-arm64-support
Feb 6, 2026
Merged

Added ARM64 (Apple Silicon) support using sse2neon#50
ran-j merged 2 commits intoran-j:mainfrom
emartinez-dev:feature/add-arm64-support

Conversation

@emartinez-dev
Copy link
Contributor

@emartinez-dev emartinez-dev commented Feb 6, 2026

Summary

Enables native compilation on ARM64 platforms (Apple Silicon Macs, ARM-based Windows devices, and Linux ARM servers) by translating x86 SIMD intrinsics to ARM NEON equivalents using sse2neon.

Changes

  • Added automatic detection and setup of sse2neon via CMake FetchContent for ARM64 builds
  • Added conditional compilation directives in ps2_runtime.h and ps2_runtime_macros.h to include sse2neon on ARM64 or immintrin.h on x86_64
  • CMake automatically fetches sse2neon v1.9.1 only when building on ARM64 architectures

Testing

  • Successfully compiled on macOS 26.2 ARM64 (Apple M4)
  • All existing x86_64 builds remain unchanged and unaffected

Technical Details

  • Uses sse2neon - a mature, widely-adopted library.
  • Intrinsics are only used in PS2 runtime emulation layer, not in the generated recompiled code
  • No regression expected on either platform

@emartinez-dev emartinez-dev force-pushed the feature/add-arm64-support branch from 3108db5 to 9db0848 Compare February 6, 2026 18:16
@emartinez-dev emartinez-dev requested a review from ran-j February 6, 2026 18:23
@ran-j ran-j merged commit 1d1b79d into ran-j:main Feb 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants