Tested on x86_64-pc-linux. This patchset provides the final changes for PR108030 and resolves PR108856. The latter is a pure optimization and could wait for Stage 1 (I'm submitting the patch because simd is experimental/TS)
Matthias Kretz (8): libstdc++: Simplify three helper functions into one libstdc++: Fix simd build failure on clang libstdc++: More efficient masked inc-/decrement implementation libstdc++: Add missing constexpr on simd shift implementation libstdc++: Always-inline most of non-cmath fixed_size implementation libstdc++: Fix formatting libstdc++: Fix -Wsign-compare issue libstdc++: Test that integral simd reductions are precise libstdc++-v3/include/experimental/bits/simd.h | 485 ++++++------ .../include/experimental/bits/simd_builtin.h | 721 +++++++++--------- .../include/experimental/bits/simd_detail.h | 3 +- .../experimental/bits/simd_fixed_size.h | 286 ++++--- .../include/experimental/bits/simd_neon.h | 24 +- .../include/experimental/bits/simd_ppc.h | 3 +- .../include/experimental/bits/simd_scalar.h | 362 +++++---- .../include/experimental/bits/simd_x86.h | 158 ++-- .../experimental/simd/tests/reductions.cc | 3 +- 9 files changed, 1075 insertions(+), 970 deletions(-) -- ────────────────────────────────────────────────────────────────────────── Dr. Matthias Kretz https://mattkretz.github.io GSI Helmholtz Centre for Heavy Ion Research https://gsi.de stdₓ::simd ──────────────────────────────────────────────────────────────────────────