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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Vijay Telidevulapalli
<[email protected]>:

https://gcc.gnu.org/g:16e53b53791725ead6af8071faaa2960ee9a3da5

commit r17-3696-g16e53b53791725ead6af8071faaa2960ee9a3da5
Author: Vijay Shankar <[email protected]>
Date:   Thu Mar 26 03:37:52 2026 -0500

    rs6000: Reduces a multi-step comparison sequence to a single vcmpnez
instruction

    This patch removes redundant vector compare instructions and logic
    from the vec_first_mismatch_or_eos_index intrinsic.
    Currently, GCC generates extra vcmpneb instructions and additional
    masking logic (xxland, xxlorc) to handle EOS and mismatch comparisons.
    However, a single vcmpnezb instruction already suffices, as it covers
    both. By eliminating the redundant comparisons (vcmpneb) and the
    associated logic (xxland/xxlorc) we produce shorter,
    more efficient code.

    Bootstrapped and regtested on powerpc64le-linux-gnu with no regressions.
    Bootstrapped and regtested on powerpc64-linux-gnu with no regressions.

    2025-10-22  Vijay Shankar  <[email protected]>

    gcc/ChangeLog:
            PR target/116004
            * config/rs6000/vsx.md (first_mismatch_or_eos_index): Remove
redundant
            emit_insns.

    gcc/testsuite/ChangeLog:
            PR target/116004
            * gcc.target/powerpc/pr116004.c: New Test.
  • [Bug target/116004] PPC64 vecto... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to