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

--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Andrew Pinski <pins...@gcc.gnu.org>:

https://gcc.gnu.org/g:fcc3af9949880476c4ed01a98bd7f5d7f29b7b16

commit r15-2946-gfcc3af9949880476c4ed01a98bd7f5d7f29b7b16
Author: Andrew Pinski <quic_apin...@quicinc.com>
Date:   Mon Jun 10 00:39:54 2024 +0000

    aarch64: Improve popcount for bytes [PR113042]

    For popcount for bytes, we don't need the reduction addition
    after the vector cnt instruction as we are only counting one
    byte's popcount.
    This changes the popcount extend to cover all ALLI rather than GPI.

    Changes since v1:
    * v2 - Use ALLI iterator and combine all into one pattern.
           Add new testcases popcnt[6-8].c.
    * v3 - Simplify TARGET_CSSC path.
           Use convert_to_mode instead of gen_zero_extend* directly.
           Some other small cleanups.

    Bootstrapped and tested on aarch64-linux-gnu with no regressions.

            PR target/113042

    gcc/ChangeLog:

            * config/aarch64/aarch64.md (popcount<mode>2): Update pattern
            to support ALLI modes.

    gcc/testsuite/ChangeLog:

            * gcc.target/aarch64/popcnt5.c: New test.
            * gcc.target/aarch64/popcnt6.c: New test.
            * gcc.target/aarch64/popcnt7.c: New test.
            * gcc.target/aarch64/popcnt8.c: New test.

    Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>

Reply via email to