[Bug tree-optimization/126789] Bogus bool vect_recog_mask_conversion_pattern with AVX512 style masks

"cvs-commit at gcc dot gnu.org via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126789

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <[email protected]>:

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

commit r17-3202-g1dec3355162851ab3cf991fbf8c7fa9cd08331f3
Author: Richard Biener <[email protected]>
Date:   Tue Aug 11 12:55:19 2026 +0200

    tree-optimization/126789 - pattern recog and precision of vector bools

    When VECTOR_BOOLEAN_TYPE_P have integer mode then we need the original
    scalar type that was used to derive it for determining the mask
    precision of a statement.  append_pattern_def_seq already has means
    to get this, but the build_mask_conversion and
vect_convert_mask_for_vectype
    lack that and thus suffer from bogus mask_precision values and in the
    end failed vectorization.

            PR tree-optimization/126789
            * tree-vect-patterns.cc (build_mask_conversion): Add
            scalar_type_for_mask parameter and pass it along.
            (vect_convert_mask_for_vectype): Likewise.
            (vect_recog_bool_pattern): Adjust.
            (vect_recog_mask_conversion_pattern): Likewise.

            * gcc.target/i386/vect-pr126789.c: New testcase.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.