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

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Robin Dapp <rd...@gcc.gnu.org>:

https://gcc.gnu.org/g:2b438a0d2aa80f051a09b245a58f643540d4004b

commit r15-1187-g2b438a0d2aa80f051a09b245a58f643540d4004b
Author: Robin Dapp <rd...@ventanamicro.com>
Date:   Fri Jun 7 14:36:41 2024 +0200

    vect: Merge loop mask and cond_op mask in fold-left reduction [PR115382].

    Currently we discard the cond-op mask when the loop is fully masked
    which causes wrong code in
    gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c
    when compiled with
    -O3 -march=cascadelake --param vect-partial-vector-usage=2.

    This patch ANDs both masks.

    gcc/ChangeLog:

            PR tree-optimization/115382

            * tree-vect-loop.cc (vectorize_fold_left_reduction): Use
            prepare_vec_mask.
            * tree-vect-stmts.cc (check_load_store_for_partial_vectors):
            Remove static of prepare_vec_mask.
            * tree-vectorizer.h (prepare_vec_mask): Export.

Reply via email to