Repository navigation
Conversation
xsimd 14.2.0 includes the MSVC-only <arm64_neon.h> whenever _WIN32 is defined, which breaks Windows aarch64 builds with mingw-w64 toolchains that don't provide that header. xsimd 14.3.0 restricts it to MSVC.
|
|
Contributor
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
No concrete defects were identified, but the archive checksum and Arrow build compatibility remain independently unverified.
Review effort: Balanced
Findings: None
What changed in this PR
Updates bundled xsimd to fix Windows ARM64 builds using mingw-w64 toolchains.
Changes:
- Bumps bundled xsimd from 14.2.0 to 14.3.0 and updates its SHA256 checksum.
- Leaves the minimum system xsimd version unchanged.
| File | Description |
|---|---|
| cpp/thirdparty/versions.txt | Updates the bundled xsimd version and checksum. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rationale for this change
xsimd 14.2.0 includes the MSVC-only
<arm64_neon.h>header whenever_WIN32and NEON64 are defined:_WIN32is also defined by mingw-w64 toolchains (e.g. MSYS2 clangarm64, llvm-mingw), which do not provide<arm64_neon.h>, so building Arrow C++ for Windows aarch64 with such a toolchain fails on the missing header. xsimd 14.3.0 narrows the condition todefined(_MSC_VER) && !defined(__clang__), so mingw-w64 builds use<arm_neon.h>.We currently work around this in the R Windows toolchain (https://github.com/r-windows/ucrt-libs) by patching
versions.txtto 14.3.0 before building Arrow.What changes are included in this PR?
Bump
ARROW_XSIMD_BUILD_VERSIONandARROW_XSIMD_BUILD_SHA256_CHECKSUMincpp/thirdparty/versions.txtto xsimd 14.3.0. I left the minimum required version for system xsimd (14.2.0inThirdpartyToolchain.cmake) unchanged, since the issue only affects the bundled build.Are these changes tested?
Not run locally; relying on CI to verify that Arrow still builds and passes tests against xsimd 14.3.0. The checksum was computed from
https://github.com/xtensor-stack/xsimd/archive/14.3.0.tar.gz.Are there any user-facing changes?
No.