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

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Andrew Pinski <pins...@gcc.gnu.org>:

https://gcc.gnu.org/g:193fccaa5c3525e979a989835c47c76d2c49d10c

commit r13-4834-g193fccaa5c3525e979a989835c47c76d2c49d10c
Author: Andrew Pinski <apin...@marvell.com>
Date:   Wed Nov 2 15:56:31 2022 +0000

    Fix PR 105532: match.pd patterns calling tree_nonzero_bits with vector
types

    Even though this PR was reported with an ubsan issue, the problem is
    tree_nonzero_bits is being called with an expression which is a vector
type.
    This fixes three patterns I noticed which does that.
    And adds a testcase for one of the patterns.

    OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions

    gcc/ChangeLog:

            PR tree-optimization/105532
            * match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral
            type before calling tree_nonzero_bits.
            (popcount(X) + popcount(Y)): Likewise.
            (popcount(X&C1)): Likewise.

    gcc/testsuite/ChangeLog:

            * gcc.c-torture/compile/vector-shift-1.c: New test.

Reply via email to