https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110038
--- Comment #2 from cuilili <lili.cui at intel dot com> --- (In reply to Richard Biener from comment #1) > Probably best to limit the values to reassoc-width by adding the > appropriate IntegerRange attribute in params.opt > > IntegerRange(0, 256) > > maybe? "rewrite_expr_tree_parallel" got a wrong width from "get_reassociation_width" The number of ops is 4, width is 2147483647. get_reassociation_width: ... width_min = 1; while (width > width_min) { int width_mid = (width + width_min) / 2; --> (width + 1) out of bounds ... So Richard suggested that limiting tree-reassoc-width to IntegerRange(0, 256) would solve the ICE, I also added a width constraint in rewrite_expr_tree_parallel, here is the patch. https://gcc.gnu.org/pipermail/gcc-patches/2023-May/620154.html 1. Limit the value of tree-reassoc-width to IntegerRange(0, 256). 2. Add width limit in rewrite_expr_tree_parallel.