https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85746
Marc Glisse <glisse at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rsandifo at gcc dot gnu.org --- Comment #7 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Marc Glisse from comment #6) > && xi.val[0] <= (HOST_WIDE_INT) ((unsigned HOST_WIDE_INT) > HOST_WIDE_INT_MAX >> shift)) The issue occurs with xi.val[0] == -9223372036854775808 (lshift_large returns a result of length 2 for that). I don't know if the code mishandles this case, or if such a number is not supposed to exist in the first place, but that does seem like a bug.