Hi gcc-patches mailing list, Matthias Kretz via Sourceware Forge <[email protected]> has requested that the following forgejo pull request be published on the mailing list.
Created on: 2026-03-21 13:52:32+00:00 Latest update: 2026-06-02 10:44:52+00:00 Changes: 25 changed files, 3601 additions, 120 deletions Head revision: mkretz/gcc ref std-simd-complex commit b851112b9a0923bdf3706c0a5e0f20366ffcca5b Base revision: gcc/gcc-TEST ref trunk commit 2ba702c966e3772d3d4e29e4b25beb7ef4dabf73 r17-638-g2ba702c966e377 Merge base: 2ba702c966e3772d3d4e29e4b25beb7ef4dabf73 Full diff url: https://forge.sourceware.org/gcc/gcc-TEST/pulls/145.diff Discussion: https://forge.sourceware.org/gcc/gcc-TEST/pulls/145 Requested Reviewers: This patch set - refactors std::simd's ABI tags to completely drop `_ScalarAbi<N>` - adds complex to the vectorizable types - implements [simd.bit] Tested on x86_64-linux-gnu, also with unix/-m32/-march=i686 Changed files: - A: libstdc++-v3/include/bits/simd_bit.h - A: libstdc++-v3/include/bits/simd_complex.h - A: libstdc++-v3/include/bits/simd_math.h - A: libstdc++-v3/testsuite/std/simd/complex_init.h - A: libstdc++-v3/testsuite/std/simd/simd_bit.cc - A: libstdc++-v3/testsuite/std/simd/simd_bit_expensive.cc - M: libstdc++-v3/include/Makefile.am - M: libstdc++-v3/include/Makefile.in - M: libstdc++-v3/include/bits/simd_details.h - M: libstdc++-v3/include/bits/simd_loadstore.h - M: libstdc++-v3/include/bits/simd_mask.h - M: libstdc++-v3/include/bits/simd_mask_reductions.h - M: libstdc++-v3/include/bits/simd_vec.h - M: libstdc++-v3/include/bits/simd_x86.h - M: libstdc++-v3/include/bits/vec_ops.h - M: libstdc++-v3/include/bits/version.def - M: libstdc++-v3/include/bits/version.h - M: libstdc++-v3/include/std/simd - M: libstdc++-v3/testsuite/std/simd/arithmetic.cc - M: libstdc++-v3/testsuite/std/simd/create_tests.h - M: libstdc++-v3/testsuite/std/simd/mask2.cc - M: libstdc++-v3/testsuite/std/simd/stores.cc - M: libstdc++-v3/testsuite/std/simd/test_setup.h - M: libstdc++-v3/testsuite/std/simd/traits_common.cc - M: libstdc++-v3/testsuite/std/simd/traits_impl.cc Matthias Kretz (3): libstdc++: Refactor _ScalarAbi<N> into _Abi<N, N> libstdc++: Add std::complex to the [simd] vectorizable types libstdc++: Fix [simd.bit] constraints and implementation libstdc++-v3/include/Makefile.am | 3 + libstdc++-v3/include/Makefile.in | 3 + libstdc++-v3/include/bits/simd_bit.h | 208 ++ libstdc++-v3/include/bits/simd_complex.h | 2321 +++++++++++++++++ libstdc++-v3/include/bits/simd_details.h | 218 +- libstdc++-v3/include/bits/simd_loadstore.h | 4 + libstdc++-v3/include/bits/simd_mask.h | 200 +- .../include/bits/simd_mask_reductions.h | 2 +- libstdc++-v3/include/bits/simd_math.h | 125 + libstdc++-v3/include/bits/simd_vec.h | 25 +- libstdc++-v3/include/bits/simd_x86.h | 46 + libstdc++-v3/include/bits/vec_ops.h | 64 +- 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 | 3 +- .../testsuite/std/simd/complex_init.h | 17 + .../testsuite/std/simd/create_tests.h | 6 +- libstdc++-v3/testsuite/std/simd/mask2.cc | 3 +- libstdc++-v3/testsuite/std/simd/simd_bit.cc | 203 ++ .../testsuite/std/simd/simd_bit_expensive.cc | 7 + libstdc++-v3/testsuite/std/simd/stores.cc | 4 +- libstdc++-v3/testsuite/std/simd/test_setup.h | 45 +- .../testsuite/std/simd/traits_common.cc | 129 + .../testsuite/std/simd/traits_impl.cc | 59 +- 25 files changed, 3601 insertions(+), 120 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/simd_bit.cc create mode 100644 libstdc++-v3/testsuite/std/simd/simd_bit_expensive.cc Range-diff against v2: 1: b5bab8901212 = 1: b5bab8901212 libstdc++: Refactor _ScalarAbi<N> into _Abi<N, N> 2: db5398e40d7d = 2: db5398e40d7d libstdc++: Add std::complex to the [simd] vectorizable types -: ------------ > 3: b851112b9a09 libstdc++: Fix [simd.bit] constraints and implementation -- 2.54.0
