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

--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tamar Christina <tnfch...@gcc.gnu.org>:

https://gcc.gnu.org/g:7d72cad143ff6933f2f90018c65d6c861c387e4d

commit r16-3279-g7d72cad143ff6933f2f90018c65d6c861c387e4d
Author: Tamar Christina <tamar.christ...@arm.com>
Date:   Tue Aug 19 10:18:04 2025 +0100

    AArch64: Use vectype from SLP node instead of stmt_info [PR121536]

    commit g:1786be14e94bf1a7806b9dc09186f021737f0227 stops storing in
    STMT_VINFO_VECTYPE the vectype of the current stmt being vectorized and
instead
    requires the use of SLP_TREE_VECTYPE for everything but data-refs.

    This means that STMT_VINFO_VECTYPE (stmt_info) will always be NULL and so
    aarch64_bool_compound_p will never properly cost predicate AND operations
    anymore resulting in less vectorization.

    This patch changes it to use SLP_TREE_VECTYPE and pass the slp_node to
    aarch64_bool_compound_p.

    gcc/ChangeLog:

            PR target/121536
            * config/aarch64/aarch64.cc (aarch64_bool_compound_p): Use
            SLP_TREE_VECTYPE instead of STMT_VINFO_VECTYPE.
            (aarch64_adjust_stmt_cost, aarch64_vector_costs::count_ops): Pass
SLP
            node to aarch64_bool_compound_p.

    gcc/testsuite/ChangeLog:

            PR target/121536
            * g++.target/aarch64/sve/pr121536.cc: New test.

Reply via email to