Skip to content

Version 3.2.1

Choose a tag to compare

@lemire lemire released this 23 Feb 16:47

What's Changed

Prior to this patch, the platform detection code in simdutf would only partially detect ARM64 under Windows. The net result is that it would skip building the fallback kernel, but it would also not build the ARM64 kernel. The mistake was due to a single missing check (one line). Hence, under Windows ARM64, simdutf would effectively just return an error indicating that it cannot find a kernel capable of running the functions.

It is important for users that want to support Windows ARM64 to pay attention to the fact that prior versions of Visual Studio (e.g., 2019) only supported ARM64 through cross-compiling. Thus you would need an x64 Visual Studio to produce the ARM64 binaries. With 2022, you can simply install Visual Studio on your ARM64 machine, and it will work as you'd expect.

If you are using CMake to cross-compile, you must use the appropriate flags:

cmake -G "Visual Studio 16 2019" -A ARM64  -DCMAKE_CROSSCOMPILING=1 -B buildarm
cmake --build buildarm

We make available cross-compiled ARM64 binaries produced in this fashion so that users can verify the support on their ARM64 Windows machine.

Note that we have Windows ARM64 continuous-integration builds.

We are thankful to @StefanStojanovic from Microsoft for reporting the problem.

Users that wish to support ARM64 under Windows should upgrade to simdutf 3.2.1.

cc @Jarred-Sumner and @anonrig

Full Changelog: v3.2.0...v3.2.1