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

--- Comment #1 from David Binderman <dcb314 at hotmail dot com> ---
Stack backtrace seems to be:

#0  0x0000000000a0b511 in operand_compare::verify_hash_value (flags=0, 
    this=<optimized out>, arg0=<optimized out>, arg1=<optimized out>, 
    ret=<optimized out>) at ../../trunk.year/gcc/fold-const.cc:4074
#1  operand_compare::operand_equal_p (
    this=0x2efbbd8 <default_compare_instance>, arg0=0x7fffe9c9fc60, 
    arg1=0x7fffe9cc8e10, flags=0) at ../../trunk.year/gcc/fold-const.cc:3090
#2  0x0000000000a04162 in operand_equal_p (arg0=0x7fffe9c9fc60, 
    arg1=0x7fffe9cc8e10, flags=16) at ../../trunk.year/gcc/fold-const.cc:4105
#3  0x0000000001dde083 in gimple_bitwise_inverted_equal_p (
    expr1=0x7fffe9c9fc60, expr2=expr2@entry=0x7fffe9cc8e10, 
    valueize=valueize@entry=0x106ee10 <rpo_vn_valueize(tree_node*)>)
    at ../../trunk.year/gcc/gimple-match-head.cc:284

Looking for the word "invert" in the range of git hashes gives:

$ grep invert /tmp/0
    Slightly improve bitwise_inverted_equal_p comparisons
    This slighly improves bitwise_inverted_equal_p
            * gimple-match-head.cc (gimple_bitwise_inverted_equal_p): Valueize
    Move `~X & X` and `~X | X` over to use bitwise_inverted_equal_p
    bitwise_inverted_equal_p. It also allows us to remove 2 other patterns
            use bitwise_inverted_equal_p, removing :c as
bitwise_inverted_equal_p
$ 

This is commit:

commit ee20be8325f7f257ba91a0201cfb3bd6bfbceba9
Author: Andrew Pinski <apin...@marvell.com>
Date:   Sat Jul 29 16:29:09 2023 -0700

    Slightly improve bitwise_inverted_equal_p comparisons

I can't be sure yet, but that commit is a likely candidate.
Perhaps Andrew would be willing to offer their opinion ?

Reply via email to