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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[8/9/10/11 Regression]      |[8/9/10 Regression]
                   |Vectorizer gives a boolean  |Vectorizer gives a boolean
                   |a value of 255              |a value of 255
      Known to work|                            |11.0
           Priority|P3                          |P2

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
commit 36e691d3a62145fda1f4a1b3143d215cc113c10a (origin/master, origin/HEAD)
Author: Richard Biener <rguent...@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  <rguent...@suse.de>

            * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle
            VIEW_CONVERT_EXPR.

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

Reply via email to