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 ?