[Bug tree-optimization/97255] [8 Regression] Vectorizer gives a boolean a value of 255

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 17 11:14:21 GMT 2021


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

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:87da0caaec663bd427147c04e5784d7843ede96a

commit r8-10806-g87da0caaec663bd427147c04e5784d7843ede96a
Author: Richard Biener <rguenther@suse.de>
Date:   Thu Oct 1 09:29:32 2020 +0200

    tree-optimization/97255 - missing vector bool pattern of SRAed bool

    SRA tends to use VIEW_CONVERT_EXPR when replacing bool fields with
    unsigned char fields.  Those are not handled in vector bool pattern
    detection causing vector true values to leak.  The following fixes
    this by turning those into b ? 1 : 0 as well.

    2020-10-01  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/97255
            * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle
            VIEW_CONVERT_EXPR.

            * g++.dg/vect/pr97255.cc: New testcase.

    (cherry picked from commit f720a0d776252aac3002a0a9307a96465f1975bd)


More information about the Gcc-bugs mailing list