[hist] Used fixed-width SIMD type for interpreted code in TFormula #20769
+19
−3
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.
In the interpreter, we must match the SIMD width used by compiled ROOT.
ROOT::Double_valiases 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=nativein the CI).Closes https://its.cern.ch/jira/browse/ROOT-10614
A separate commit also enables VecCore and Vc for the
-march=nativebuild 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::simdorstd::simd.