https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106053
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- It's fold_sign_changed_comparison (in it's match.pd incarnation) that replaces (uint128) a == (uint128) b with a == (signed-bool:128) b. That's a latent issue exposed by the change as we now fold this comparison while we didn't before.