Skip to content

Add support for building and testing Folly on Windows ARM64#2606

Open
Harishmcw wants to merge 7 commits into
facebook:mainfrom
Harishmcw:main
Open

Add support for building and testing Folly on Windows ARM64#2606
Harishmcw wants to merge 7 commits into
facebook:mainfrom
Harishmcw:main

Conversation

@Harishmcw

Copy link
Copy Markdown

The PR adds support for building and testing Folly on Windows ARM64 using MSVC Compiler.

Changes Proposed:

  • Created Workflow file for building and testing Folly on Windows ARM64 [getdeps_windows_arm64.yml].
  • Enabled Windows ARM64 build configurations in builder, platform, and build options scripts.
  • Modified builder script to exclude problematic build options for building Boost library on Windows ARM64.
  • Modified Portability header[Portability.h] to enable NEON SIMD and exclude problematic coroutine test builds for Windows ARM64.
  • Replaced unsupported NEON vector operator usage with explicit intrinsic to ensure MSVC ARM64 compatibility (find_first_of.h).
  • Replaced unsupported builtin functions with MSVC ARM64 intrinsics for popcount, ctz, and clz (Instructions.h, Bits.h).
  • Implemented 128-bit multiplication using __umulh on MSVC ARM64, where _mul128 and __int128 are unavailable (F14Table.h).
  • Added a Windows ARM64 fallback for FiberImpl using the Windows Fibers API due to lack of boost::context support (BoostContextCompatibility.h)
  • Added MSVC ARM64 support for pause using __yield() as the equivalent of _mm_pause() (Asm.h).
@meta-cla meta-cla Bot added the CLA Signed label Mar 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

2 participants