[Bug tree-optimization/122868] [15 Regression] vectorizer pulls loop invariant loads across multiple exits

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 8 09:11:29 GMT 2025


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

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

https://gcc.gnu.org/g:1db03274f1371e0bce5b39f86eda1437502ac28e

commit r16-5954-g1db03274f1371e0bce5b39f86eda1437502ac28e
Author: Tamar Christina <tamar.christina@arm.com>
Date:   Mon Dec 8 09:10:58 2025 +0000

    vect: move the condition down into the loop checking every scalar load
[PR122868]

    As Richi suggested this moves the check into the loop so we check every
load.

    I had initially not done this because I figured the loads would be treated
as a
    group anyway and the group would be valid or not as a whole.  But for
invariants
    they could be a group, but not all the loads within range of a known
bounds.

    gcc/ChangeLog:

            PR tree-optimization/122868
            * tree-vect-stmts.cc (vectorizable_load): Move check for invariant
loads
            down into the loop.


More information about the Gcc-bugs mailing list