https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92333
--- Comment #5 from Martin Sebor <msebor at gcc dot gnu.org> --- The ICE is caused by int_const_binop (TRUNC_DIV_EXPR, maxbound, eltsize) returning a nul for constant arguments, and caller assuming it's non-null. The poly_int_binop function apparently doesn't know how to do TRUNC_DIV_EXP for constant poly_int arguments. I don't know if that's just because it hasn't been needed anywhere else up until now or because of some inherent limitation of these poly_ints.