[Bug tree-optimization/95356] [11 Regression] ICE in vect_get_constant_vectors, at tree-vect-slp.c:3635 since r11-564-g79f0451c67e8ed56
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu May 28 12:22:23 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95356
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
OK, so vectorizable_shift doing
else if (dt[1] == vect_constant_def)
{
/* Convert the scalar constant shift amounts in-place. */
slp_tree shift = SLP_TREE_CHILDREN (slp_node)[1];
gcc_assert (SLP_TREE_DEF_TYPE (shift) == vect_constant_def);
for (unsigned i = 0;
i < SLP_TREE_SCALAR_OPS (shift).length (); ++i)
{
SLP_TREE_SCALAR_OPS (shift)[i]
= fold_convert (TREE_TYPE (vectype),
SLP_TREE_SCALAR_OPS (shift)[i]);
gcc_assert ((TREE_CODE (SLP_TREE_SCALAR_OPS (shift)[i])
== INTEGER_CST));
}
no longer works because we already tried code-generating it. The above would
need to happen at analysis time (ensuring the node is not shared - which would
be a problem for the above code as well).
More information about the Gcc-bugs
mailing list