https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91242
rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rsandifo at gcc dot gnu.org --- Comment #8 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> --- Mine. The problem is with using the raw elt value to hash wide ints. build_poly_int_cst is hashing a "normal" sign-extended wide_int, whereas ::hash is operating on the INTEGER_CST representation, which for unsigned integers is zero-extended instead.