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

--- Comment #7 from CVS 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:a075350ee7bffa6c90d9d233de78515f498b5149

commit r12-1932-ga075350ee7bffa6c90d9d233de78515f498b5149
Author: Richard Biener <rguent...@suse.de>
Date:   Wed Jun 30 12:35:45 2021 +0200

    tree-optimization/101267 - fix SLP vect with masked operations

    This fixes the missed handling of external/constant mask SLP
    operations, for the testcase in particular masked loads.  The
    patch adjusts the vect_check_scalar_mask API to reflect the
    required vect_is_simple_use SLP compatible API plus adjusts
    for the special handling of masked loads in SLP discovery.

    The issue is likely latent.

    2021-06-30  Richard Biener  <rguent...@suse.de>

            PR tree-optimization/101267
            * tree-vect-stmts.c (vect_check_scalar_mask): Adjust
            API and use SLP compatible interface of vect_is_simple_use.
            Reject not vectorized SLP defs for callers that do not support
            that.
            (vect_check_store_rhs): Handle masked stores and pass down
            the appropriate operator index.
            (vectorizable_call): Adjust.
            (vectorizable_store): Likewise.
            (vectorizable_load): Likewise.  Handle SLP pecularity of
            masked loads.
            (vect_is_simple_use): Remove special-casing of masked stores.

            * gfortran.dg/pr101267.f90: New testcase.

Reply via email to