https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111435
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So Basically you can't have a recusive match because of the way VN works ... I should have figured that out when I was adding bitwise_inverted_equal_p .