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.