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

--- Comment #13 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-16 branch has been updated by Tamar Christina
<[email protected]>:

https://gcc.gnu.org/g:5d8844db0f1af8f6492fac1ca863e1a9f80528f1

commit r16-9244-g5d8844db0f1af8f6492fac1ca863e1a9f80528f1
Author: Tamar Christina <[email protected]>
Date:   Fri Jun 12 11:56:33 2026 +0100

    vect: use .VARYING for loop iteraion mask [PR125597]

    This replaces the gimple_build_nop () used for making loop control mask
variable
    with an IFN_VARYING and then actually adding the statement to the IL.

    The bug happens because the mask def statement itself is not in the IL but
    computations that use it are.  As such dataflow analysis fails as it tries
to
    analyze the use/def chain of these expressions.

    When the value if known we replace the IFN_VARYING with the final
statement.

    gcc/ChangeLog:

            PR tree-optimization/125597
            (vect_do_peeling): Create IFN_VARYING for masks.
            * tree-vect-loop-manip.cc (vect_set_loop_condition): Replace the
            IFN_VARYING.

    gcc/testsuite/ChangeLog:

            PR tree-optimization/125597
            * gcc.target/aarch64/pr125597.c: New test.

    (cherry picked from commit 7c1666c8c462cb1bbc6c0b2f6bc02ad968d769ad)

Reply via email to