https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96091
--- Comment #3 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org>
---
(In reply to Richard Biener from comment #2)
> Why should we not have a VECTOR_CST of POLY_INT_CST elements? If
> POLY_INT_CST
> is not "constant" then it shouldn't be tcc_constant? Looks like
>
> tree
> vector_cst_elt (const_tree t, unsigned int i)
> {
> ...
> /* Otherwise work out the value from the last two encoded elements. */
> return wide_int_to_tree (TREE_TYPE (TREE_TYPE (t)),
> vector_cst_int_elt (t, i));
> }
>
> should be using poly-ints and not wide-ints. Richard?
Yeah, looks like it. I think I was worried about cases
in which we could end up with poly_int*poly_int, from a
poly_int-long vector containing a poly_int “stepped”
vector constant. But that's not a problem here, since
the index is always a plain integer.