It seems the root cause of all the memory problems is that vect_get_smallest_scalar_type neglected to handle WIDEN_LSHIFT_EXPR, which causes the SLP pass to mis-compute the number of statements needed to vectorize the expression. The attached patch (together with your patch from #960274) fixes the ICEs for me ...
It seems the root cause of all the memory problems is that vect_get_ smallest_ scalar_ type neglected to handle WIDEN_LSHIFT_EXPR, which causes the SLP pass to mis-compute the number of statements needed to vectorize the expression. The attached patch (together with your patch from #960274) fixes the ICEs for me ...