On Tue, 6 Jun 2023 at 13:26, Matthias Kretz via Libstdc++ <
libstd...@gcc.gnu.org> wrote:

> OK for master and backports?
>

OK for trunk and branches



> Tested on x86_64-pc-linux-gnu
>
> ----- >8 -----
>
> The call to the base implementation sometimes didn't find a matching
> signature because the _Abi parameter of _SimdImpl* was "wrong" after
> conversion. It has to call into <new ABI tag>::_SimdImpl instead of the
> current ABI tag's _SimdImpl. This also reduces the number of possible
> template instantiations.
>
> Signed-off-by: Matthias Kretz <m.kr...@gsi.de>
>
> libstdc++-v3/ChangeLog:
>
>         PR libstdc++/110054
>         * include/experimental/bits/simd_builtin.h (_S_masked_store):
>         Call into deduced ABI's SimdImpl after conversion.
>         * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt):
>         Don't use _mm_maskmoveu_si128. Use the generic fall-back
>         implementation. Also fix masked stores without SSE2, which
>         were not doing anything before.
> ---
>  .../include/experimental/bits/simd_builtin.h  |  6 +--
>  .../include/experimental/bits/simd_x86.h      | 38 ++-----------------
>  2 files changed, 7 insertions(+), 37 deletions(-)
>
>
> --
> ──────────────────────────────────────────────────────────────────────────
>  Dr. Matthias Kretz                           https://mattkretz.github.io
>  GSI Helmholtz Centre for Heavy Ion Research               https://gsi.de
>  stdₓ::simd
> ──────────────────────────────────────────────────────────────────────────

Reply via email to