https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112773
--- Comment #3 from JuzheZhong <juzhe.zhong at rivai dot ai> --- I see. I didn't reproduce the ICE since I didn't enable gcc_assert_checking. Could you tell me how to enable it ? I hack the codes as follows: diff --git a/gcc/poly-int.h b/gcc/poly-int.h index 828714ee910..24cce294414 100644 --- a/gcc/poly-int.h +++ b/gcc/poly-int.h @@ -1825,7 +1825,7 @@ template<unsigned int N, typename Ca, typename Cb> inline poly_int<N, Ca> force_align_down_and_div (const poly_int<N, Ca> &value, Cb align) { - gcc_checking_assert (can_align_p (value, align)); + gcc_assert (can_align_p (value, align)); poly_int<N, Ca> r; POLY_SET_COEFF (Ca, r, 0, ((value.coeffs[0] Then I can see the assertion FAIL.