Skip to content

GH-49921: [C++] Bump xsimd to 14.2.0#49922

Open
AntoinePrv wants to merge 5 commits intoapache:mainfrom
AntoinePrv:main
Open

GH-49921: [C++] Bump xsimd to 14.2.0#49922
AntoinePrv wants to merge 5 commits intoapache:mainfrom
AntoinePrv:main

Conversation

@AntoinePrv
Copy link
Copy Markdown
Contributor

@AntoinePrv AntoinePrv commented May 5, 2026

Rationale for this change

What changes are included in this PR?

Bump version and cleanup backports.

Are these changes tested?

Yes, in CI.

Are there any user-facing changes?

No

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

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

@AntoinePrv AntoinePrv changed the title GH-49921: [C++] Bunp xsimd to 14.2.0 GH-49921: [C++] Bump xsimd to 14.2.0 May 5, 2026
@pitrou
Copy link
Copy Markdown
Member

pitrou commented May 6, 2026

@AntoinePrv Can you take a look at the CI failures? They seem related.

@AntoinePrv
Copy link
Copy Markdown
Contributor Author

Yes, I am still waiting for the Msys2 build of xsimd to happen...

@pitrou
Copy link
Copy Markdown
Member

pitrou commented May 6, 2026

@AntoinePrv
Copy link
Copy Markdown
Contributor Author

AntoinePrv commented May 6, 2026

Perhaps it's this check that does not work on MSVC?

https://github.com/xtensor-stack/xsimd/blob/80c23624ce008d937da7e845e528e82ce0cbf4e0/include/xsimd/types/xsimd_batch_constant.hpp#L500

Either we could add /Zc:__cplusplus or re-introduce the backport.

@pitrou
Copy link
Copy Markdown
Member

pitrou commented May 6, 2026

I think we should both 1) fix xsimd upstream anyway and 2) pass /Zc:__cplusplus when building Arrow C++.

It seems xsimd should do something like this:

#ifdef _MSVC_LANG
#define XSIMD_CPP_LEVEL _MSVC_LANG
#else
#define XSIMD_CPP_LEVEL __cplusplus
#endif

and then use the XSIMD_CPP_LEVEL macro everywhere instead of __cplusplus.

(but xsimd could also use find-grained feature testing).

@AntoinePrv
Copy link
Copy Markdown
Contributor Author

AntoinePrv commented May 6, 2026

Already sending a patch, but not sure I want to go through another round of xsimd releases

xtensor-stack/xsimd#1342

@pitrou
Copy link
Copy Markdown
Member

pitrou commented May 6, 2026

Agreed, hence "pass /Zc:__cplusplus when building Arrow C++" as well 😉

@pitrou
Copy link
Copy Markdown
Member

pitrou commented May 6, 2026

Bloody protobuf fails building with /Zc:__cplusplus.
https://github.com/apache/arrow/actions/runs/25429128655/job/74590408553?pr=49922#step:9:2218

@pitrou pitrou added the CI: Extra: C++ Run extra C++ CI label May 6, 2026
@pitrou
Copy link
Copy Markdown
Member

pitrou commented May 6, 2026

Tiny syntax error that needs fixing:

  #17 27.36 Failed to load manifest from directory /arrow/ci/vcpkg
  #17 27.36 /arrow/ci/vcpkg/vcpkg.json:24:26: error: Trailing comma in an object
  #17 27.36   on expression:       "version>=": "14.2",

@AntoinePrv
Copy link
Copy Markdown
Contributor Author

@pitrou I'm not very proactively working on this until the msys2 xsimd build is live

@github-actions github-actions Bot removed the CI: Extra: C++ Run extra C++ CI label May 6, 2026
@pitrou
Copy link
Copy Markdown
Member

pitrou commented May 6, 2026

@pitrou I'm not very proactively working on this until the msys2 xsimd build is live

@kou Do you know how we can make that happen?

@pitrou pitrou added the CI: Extra: C++ Run extra C++ CI label May 6, 2026
@pitrou
Copy link
Copy Markdown
Member

pitrou commented May 6, 2026

@github-actions crossbow submit -g cpp

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

Revision: 89a1f7e

Submitted crossbow builds: ursacomputing/crossbow @ actions-9c434593fe

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-bundled-offline 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

@raulcd
Copy link
Copy Markdown
Member

raulcd commented May 6, 2026

Do you know how we can make that happen?

It's just a matter of waiting for their queue to update it:
https://packages.msys2.org/queue

Based on experience when uploading Arrow it takes between 6 and 12 hours. Their CI seems to run several times a day and xsimd is already listed on the queue so it should be available "soon".

@github-actions github-actions Bot removed the CI: Extra: C++ Run extra C++ CI label May 6, 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.

3 participants