I also opened a PR against my first [simd] PR: https://forge.sourceware.org/mkretz/gcc/pulls/1
This code was tested for *all* vectorizable types, *all* widths with default ABI tag from 1–64 (and some larger), *all* witdths using _ScalarAbi<N>, _CxCtgus ABI tags, and -march= options x86-64, x86-64-v2, x86-64-v3, x86-64- v4, ivybridge, and graniterapids. Tests were executed on a znver4 (i.e. all tests but -march=graniterapids were executed). (This was using my test framework outside of GCC.) Matthias Kretz (5): libstdc++: Use ktest on simd::mask reduction for AVX512 libstdc++: Use conservative default for simd::mask sanitization libstdc++: Optimize simd conversions on x86-64 libstdc++: Add std::complex to the [simd] vectorizable types libstdc++: Test and fix simd masked loads libstdc++-v3/include/Makefile.am | 3 + libstdc++-v3/include/Makefile.in | 3 + libstdc++-v3/include/bits/simd_bit.h | 177 ++ libstdc++-v3/include/bits/simd_complex.h | 2108 +++++++++++++++++ libstdc++-v3/include/bits/simd_details.h | 108 +- libstdc++-v3/include/bits/simd_loadstore.h | 13 +- libstdc++-v3/include/bits/simd_mask.h | 205 +- .../include/bits/simd_mask_reductions.h | 2 +- libstdc++-v3/include/bits/simd_math.h | 125 + libstdc++-v3/include/bits/simd_vec.h | 370 ++- libstdc++-v3/include/bits/simd_x86.h | 46 + libstdc++-v3/include/bits/vec_ops.h | 132 ++ libstdc++-v3/include/bits/version.def | 11 + libstdc++-v3/include/bits/version.h | 9 + libstdc++-v3/include/std/simd | 6 + libstdc++-v3/testsuite/std/simd/arithmetic.cc | 11 +- .../testsuite/std/simd/complex_init.h | 17 + .../testsuite/std/simd/create_tests.h | 13 + libstdc++-v3/testsuite/std/simd/creation.cc | 8 +- libstdc++-v3/testsuite/std/simd/loads.cc | 71 +- libstdc++-v3/testsuite/std/simd/mask.cc | 18 +- libstdc++-v3/testsuite/std/simd/reductions.cc | 8 +- libstdc++-v3/testsuite/std/simd/simd_alg.cc | 8 +- .../std/simd/sse2_efficient_cvt_x4.cc | 105 + libstdc++-v3/testsuite/std/simd/stores.cc | 12 +- libstdc++-v3/testsuite/std/simd/test_setup.h | 42 +- .../testsuite/std/simd/traits_common.cc | 125 +- .../testsuite/std/simd/traits_impl.cc | 12 + 28 files changed, 3653 insertions(+), 115 deletions(-) create mode 100644 libstdc++-v3/include/bits/simd_bit.h create mode 100644 libstdc++-v3/include/bits/simd_complex.h create mode 100644 libstdc++-v3/include/bits/simd_math.h create mode 100644 libstdc++-v3/testsuite/std/simd/complex_init.h create mode 100644 libstdc++-v3/testsuite/std/simd/create_tests.h create mode 100644 libstdc++-v3/testsuite/std/simd/sse2_efficient_cvt_x4.cc -- ────────────────────────────────────────────────────────────────────────── Dr. Matthias Kretz https://mattkretz.github.io GSI Helmholtz Center for Heavy Ion Research https://gsi.de std::simd ──────────────────────────────────────────────────────────────────────────
signature.asc
Description: This is a digitally signed message part.
