https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114958

--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Matthias Kretz
<mkr...@gcc.gnu.org>:

https://gcc.gnu.org/g:26113c278069e7e58f5e4149ef86a30c043b262f

commit r13-8839-g26113c278069e7e58f5e4149ef86a30c043b262f
Author: Matthias Kretz <m.kr...@gsi.de>
Date:   Mon May 6 12:13:55 2024 +0200

    libstdc++: Use __builtin_shufflevector for simd split and concat

    Signed-off-by: Matthias Kretz <m.kr...@gsi.de>

    libstdc++-v3/ChangeLog:

            PR libstdc++/114958
            * include/experimental/bits/simd.h (__as_vector): Return scalar
            simd as one-element vector. Return vector from single-vector
            fixed_size simd.
            (__vec_shuffle): New.
            (__extract_part): Adjust return type signature.
            (split): Use __extract_part for any split into non-fixed_size
            simds.
            (concat): If the return type stores a single vector, use
            __vec_shuffle (which calls __builtin_shufflevector) to produce
            the return value.
            * include/experimental/bits/simd_builtin.h
            (__shift_elements_right): Removed.
            (__extract_part): Return single elements directly. Use
            __vec_shuffle (which calls __builtin_shufflevector) to for all
            non-trivial cases.
            * include/experimental/bits/simd_fixed_size.h (__extract_part):
            Return single elements directly.
            * testsuite/experimental/simd/pr114958.cc: New test.

    (cherry picked from commit fb1649f8b4ad5043dd0e65e4e3a643a0ced018a9)
  • [Bug libstdc++/114958] use __bu... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to