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

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Pengxuan Zheng <pzh...@gcc.gnu.org>:

https://gcc.gnu.org/g:9ffcf1f193b477f417a4c1960cd32696a23b99b4

commit r15-4579-g9ffcf1f193b477f417a4c1960cd32696a23b99b4
Author: Pengxuan Zheng <quic_pzh...@quicinc.com>
Date:   Mon Oct 14 05:37:49 2024 -0700

    aarch64: Improve scalar mode popcount expansion by using SVE [PR113860]

    This is similar to the recent improvements to the Advanced SIMD popcount
    expansion by using SVE. We can utilize SVE to generate more efficient code
for
    scalar mode popcount too.

    Changes since v1:
    * v2: Add a new VNx1BI mode and a new test case for V1DI.
    * v3: Abandon VNx1BI changes and add a new variant of aarch64_ptrue_reg.

            PR target/113860

    gcc/ChangeLog:

            * config/aarch64/aarch64-protos.h (aarch64_ptrue_reg): New
function.
            * config/aarch64/aarch64-simd.md (popcount<mode>2): Update pattern
to
            also support V1DI mode.
            * config/aarch64/aarch64.cc (aarch64_ptrue_reg): New function.
            * config/aarch64/aarch64.md (popcount<mode>2): Add TARGET_SVE
support.
            * config/aarch64/iterators.md (VDQHSD_V1DI): New mode iterator.
            (SVE_VDQ_I): Add V1DI.
            (bitsize): Likewise.
            (VPRED): Likewise.
            (VEC_POP_MODE): New mode attribute.
            (vec_pop_mode): Likewise.

    gcc/testsuite/ChangeLog:

            * gcc.target/aarch64/popcnt-sve.c: Update test.
            * gcc.target/aarch64/popcnt11.c: New test.
            * gcc.target/aarch64/popcnt12.c: New test.

    Signed-off-by: Pengxuan Zheng <quic_pzh...@quicinc.com>

Reply via email to