Skip to content

Conversation

@guitargeek
Copy link
Contributor

@guitargeek guitargeek commented Dec 20, 2025

In the interpreter, we must match the SIMD width used by compiled ROOT. ROOT::Double_v aliases the best available native SIMD type, which may differ between compiled and interpreted contexts (e.g. with -march=native). Therefore, we explicitly select the fixed-size SIMD type corresponding to the native SIMD width used in compiled ROOT.

This fixes failues in the vectorized TFormula tests for platforms with possible mismatch between the SIMD types between interpretd and compiled context (e.g. vanilla Alma 10 or Alma 9 with march=native in the CI).

Closes https://its.cern.ch/jira/browse/ROOT-10614

A separate commit also enables VecCore and Vc for the -march=native build in the CI, so we get test coverage.

Note that this fix is not specific to VecCore or Vc: the same needs to be done if we were using std::experimental::simd or std::simd.

@github-actions
Copy link

github-actions bot commented Dec 21, 2025

Test Results

    22 files      22 suites   3d 23h 24m 12s ⏱️
 3 791 tests  3 789 ✅ 0 💤 2 ❌
80 284 runs  80 282 ✅ 0 💤 2 ❌

For more details on these failures, see this check.

Results for commit d82921e.

♻️ This comment has been updated with latest results.

In the interpreter, we must match the SIMD width used by compiled ROOT.
`ROOT::Double_v` aliases the best available native SIMD type, which may
differ between compiled and interpreted contexts (e.g. with
`-march=native`). Therefore, we explicitly select the fixed-size SIMD
type corresponding to the native SIMD width used in compiled ROOT.

This fixes failues in the vectorized TFormula tests for platforms with
possible mismatch between the SIMD types between interpretd and compiled
context (e.g. vanilla Alma 10 or Alma 9 with `march=native` in the CI).

Closes https://its.cern.ch/jira/browse/ROOT-10614
This is to show that issues related to VecCore and Vc are fixed, and to
provide much-needed test coverage for a gradual migration from VecCore
and Vc to `std::experimental::simd`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants