Skip to content

Fix Windows ARM64/ARM64EC NEON detection and MSVC compatibility#264

Open
navvyswethgraphics wants to merge 1 commit into
slembcke:masterfrom
navvyswethgraphics:support_windows_arm64_arm64ec_msvc
Open

Fix Windows ARM64/ARM64EC NEON detection and MSVC compatibility#264
navvyswethgraphics wants to merge 1 commit into
slembcke:masterfrom
navvyswethgraphics:support_windows_arm64_arm64ec_msvc

Conversation

@navvyswethgraphics

Copy link
Copy Markdown

Summary & Changes

This PR enables clean builds of Chipmunk’s "cpHastySpace.c" on Windows ARM64 and ARM64EC toolchains by fixing NEON guards, avoiding MSVC‑incompatible NEON compound literals, and architecture/compiler checks.

Replaced non‑portable ARM64 checks with aarch64 macros.
Updated vmake() to avoid MSVC‑unsupported NEON compound literals.
Scoped vrev() fallback to compiler (MSVC vs non‑MSVC), avoiding "__builtin_shufflevector" where unsupported.
Replaced {} vector initialization with vdup_n(0.0) for portability.
Applied the corrected NEON guard consistently in the solver path.

Build & test

  • Environment: Windows 11 on ARM64, MSVC (Platform toolset: VS 2022(v143)
  • Successfully ran "chipmunk_demos" as a smoke test.

Notes

  • No behavioral changes on x86/x64.
  • NEON code paths are guarded with "_M_ARM64"

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.

1 participant