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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

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

commit r15-5228-gba192895d17c4fc4676444fe1bd4a593d20e6def
Author: Richard Biener <rguent...@suse.de>
Date:   Wed Nov 13 13:56:13 2024 +0100

    tree-optimization/117559 - avoid hybrid SLP for masked load/store lanes

    Hybrid analysis is confused by the mask_conversion pattern making a
    uniform mask non-uniform.  As load/store lanes only uses a single
    lane to mask all data lanes the SLP graph doesn't cover the alternate
    (redundant) mask lanes and thus their pattern defs.  The following adds
    a hack to mark them covered.

    Fixes gcc.target/aarch64/sve/mask_struct_store_?.c with forced SLP.

            PR tree-optimization/117559
            * tree-vect-slp.cc (vect_mark_slp_stmts): Pass in vinfo,
            mark all mask defs of a load/store-lane .MASK_LOAD/STORE
            as pure.
            (vect_make_slp_decision): Adjust.
            (vect_slp_analyze_bb_1): Likewise.

Reply via email to