The following patches mostly contain code cleanups and minor corrections. The major feature in this patchset is the last patch, which should make the use of stdx::simd much safer wrt. ODR violations involuntarily introduced by linking TUs that were compiled with different -m and floating-point flags.
Matthias Kretz (11): libstdc++: Improve copysign codegen libstdc++: Remove dead code libstdc++: Improve fixed_size codegen libstdc++: Make use of __builtin_bit_cast libstdc++: Remove incorrect fabs overload libstdc++: Minor simd_math cleanups libstdc++: Fix condition when AVX512F ldexp implementation is used libstdc++: Avoid raising fp exceptions in trunc, floor, and ceil libstdc++: Ensure unrolled loops inline the lambda libstdc++: Fix internal names: add missing underscores libstdc++: Fix ODR issues with different -m flags libstdc++-v3/include/experimental/bits/simd.h | 438 ++++++++++++------ .../include/experimental/bits/simd_builtin.h | 48 +- .../experimental/bits/simd_converter.h | 2 +- .../include/experimental/bits/simd_detail.h | 40 ++ .../experimental/bits/simd_fixed_size.h | 95 ++-- .../include/experimental/bits/simd_math.h | 107 ++--- .../include/experimental/bits/simd_neon.h | 4 +- .../include/experimental/bits/simd_ppc.h | 4 +- .../include/experimental/bits/simd_scalar.h | 71 ++- .../include/experimental/bits/simd_x86.h | 33 +- .../simd/tests/bits/test_values.h | 8 +- 11 files changed, 540 insertions(+), 310 deletions(-) -- ────────────────────────────────────────────────────────────────────────── Dr. Matthias Kretz https://mattkretz.github.io GSI Helmholtz Centre for Heavy Ion Research https://gsi.de std::experimental::simd https://github.com/VcDevel/std-simd ──────────────────────────────────────────────────────────────────────────