Skip to content

GH-52022: [C++] Bump bundled xsimd to 14.3.0 - #52023

Merged
kou merged 1 commit into
apache:mainfrom
jeroen:GH-52022-bump-xsimd-14.3.0
Nov 5, 2026
Merged

kou merged 1 commit into
apache:mainfrom
jeroen:GH-52022-bump-xsimd-14.3.0

Conversation

@jeroen

@jeroen jeroen commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Rationale for this change

xsimd 14.2.0 includes the MSVC-only <arm64_neon.h> header whenever _WIN32 and NEON64 are defined:

#if defined(_WIN32) && XSIMD_WITH_NEON64
#include <arm64_neon.h>

_WIN32 is 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 to defined(_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.txt to 14.3.0 before building Arrow.

What changes are included in this PR?

Bump ARROW_XSIMD_BUILD_VERSION and ARROW_XSIMD_BUILD_SHA256_CHECKSUM in cpp/thirdparty/versions.txt to xsimd 14.3.0. I left the minimum required version for system xsimd (14.2.0 in ThirdpartyToolchain.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.

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.
Copilot AI balanced review requested due to automatic review settings October 7, 2026 09:23
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown

⚠️ GitHub issue #52022 has been automatically assigned in GitHub to PR creator.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@thisisnic

Copy link
Copy Markdown
Member

@github-actions crossbow submit -g cpp wheel

@github-actions

Copy link
Copy Markdown
Unable to match any tasks for `wheel`
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/38814719314

@thisisnic

Copy link
Copy Markdown
Member

@github-actions crossbow submit -g cpp

@thisisnic

Copy link
Copy Markdown
Member

@github-actions crossbow submit -g wheel

@github-actions

Copy link
Copy Markdown

Revision: 7000911

Submitted crossbow builds: ursacomputing/crossbow @ actions-b43e13e6b0

Task Status
example-cpp-minimal-build-static GitHub Actions
example-cpp-minimal-build-static-system-dependency GitHub Actions
example-cpp-tutorial GitHub Actions
test-build-cpp-fuzz GitHub Actions
test-conda-cpp GitHub Actions
test-conda-cpp-valgrind GitHub Actions
test-debian-13-cpp-amd64 GitHub Actions
test-debian-13-cpp-i386 GitHub Actions
test-debian-experimental-cpp-gcc-15 GitHub Actions
test-fedora-42-cpp GitHub Actions
test-ubuntu-22.04-cpp GitHub Actions
test-ubuntu-22.04-cpp-bundled GitHub Actions
test-ubuntu-22.04-cpp-emscripten GitHub Actions
test-ubuntu-22.04-cpp-no-threading GitHub Actions
test-ubuntu-24.04-cpp GitHub Actions
test-ubuntu-24.04-cpp-gcc-13-bundled GitHub Actions
test-ubuntu-24.04-cpp-gcc-14 GitHub Actions
test-ubuntu-24.04-cpp-minimal-with-formats GitHub Actions
test-ubuntu-24.04-cpp-thread-sanitizer GitHub Actions

@github-actions

Copy link
Copy Markdown

Revision: 7000911

Submitted crossbow builds: ursacomputing/crossbow @ actions-d270b0339a

Task Status
python-sdist GitHub Actions
wheel-macos-monterey-cp311-cp311-amd64 GitHub Actions
wheel-macos-monterey-cp311-cp311-arm64 GitHub Actions
wheel-macos-monterey-cp312-cp312-amd64 GitHub Actions
wheel-macos-monterey-cp312-cp312-arm64 GitHub Actions
wheel-macos-monterey-cp313-cp313-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313-arm64 GitHub Actions
wheel-macos-monterey-cp314-cp314-amd64 GitHub Actions
wheel-macos-monterey-cp314-cp314-arm64 GitHub Actions
wheel-macos-monterey-cp314-cp314t-amd64 GitHub Actions
wheel-macos-monterey-cp314-cp314t-arm64 GitHub Actions
wheel-macos-monterey-cp315-cp315-amd64 GitHub Actions
wheel-macos-monterey-cp315-cp315-arm64 GitHub Actions
wheel-macos-monterey-cp315-cp315t-amd64 GitHub Actions
wheel-macos-monterey-cp315-cp315t-arm64 GitHub Actions
wheel-manylinux-2-28-cp311-cp311-amd64 GitHub Actions
wheel-manylinux-2-28-cp311-cp311-arm64 GitHub Actions
wheel-manylinux-2-28-cp312-cp312-amd64 GitHub Actions
wheel-manylinux-2-28-cp312-cp312-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-arm64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-amd64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314-arm64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314t-amd64 GitHub Actions
wheel-manylinux-2-28-cp314-cp314t-arm64 GitHub Actions
wheel-manylinux-2-28-cp315-cp315-amd64 GitHub Actions
wheel-manylinux-2-28-cp315-cp315-arm64 GitHub Actions
wheel-manylinux-2-28-cp315-cp315t-amd64 GitHub Actions
wheel-manylinux-2-28-cp315-cp315t-arm64 GitHub Actions
wheel-musllinux-1-2-cp311-cp311-amd64 GitHub Actions
wheel-musllinux-1-2-cp311-cp311-arm64 GitHub Actions
wheel-musllinux-1-2-cp312-cp312-amd64 GitHub Actions
wheel-musllinux-1-2-cp312-cp312-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-arm64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-amd64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314-arm64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314t-amd64 GitHub Actions
wheel-musllinux-1-2-cp314-cp314t-arm64 GitHub Actions
wheel-musllinux-1-2-cp315-cp315-amd64 GitHub Actions
wheel-musllinux-1-2-cp315-cp315-arm64 GitHub Actions
wheel-musllinux-1-2-cp315-cp315t-amd64 GitHub Actions
wheel-musllinux-1-2-cp315-cp315t-arm64 GitHub Actions
wheel-windows-cp311-cp311-amd64 GitHub Actions
wheel-windows-cp312-cp312-amd64 GitHub Actions
wheel-windows-cp313-cp313-amd64 GitHub Actions
wheel-windows-cp314-cp314-amd64 GitHub Actions
wheel-windows-cp314-cp314t-amd64 GitHub Actions
wheel-windows-cp315-cp315-amd64 GitHub Actions
wheel-windows-cp315-cp315t-amd64 GitHub Actions

@thisisnic

Copy link
Copy Markdown
Member

@github-actions crossbow submit wheel-macos-monterey-cp315-cp315t-amd64

@thisisnic

Copy link
Copy Markdown
Member

Re-running the job which looks like it had an error unrelated to this PR. @pitrou - can we merge this if CI passes on that job?

@pitrou pitrou added the CI: Extra: C++ Run extra C++ CI label Nov 4, 2026
@pitrou

pitrou commented Nov 4, 2026

Copy link
Copy Markdown
Member

@thisisnic That would be fine with me, I don't know if @kou wants a say.

@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown

Revision: 7000911

Submitted crossbow builds: ursacomputing/crossbow @ actions-5b37517cdd

Task Status
wheel-macos-monterey-cp315-cp315t-amd64 GitHub Actions

@kou kou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@kou
kou merged commit 7689aec into apache:main Nov 5, 2026
100 of 104 checks passed
@kou kou removed the awaiting review Awaiting review label Nov 5, 2026
@github-actions github-actions Bot added the awaiting merge Awaiting merge label Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants