https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108623
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu.org,
| |rsandifo at gcc dot gnu.org
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note there's code that might need adjustments. We for example have
/* Return the number of elements in the VECTOR_TYPE given by NODE. */
inline poly_uint64
TYPE_VECTOR_SUBPARTS (const_tree node)
{
STATIC_ASSERT (NUM_POLY_INT_COEFFS <= 2);
unsigned int precision = VECTOR_TYPE_CHECK (node)->type_common.precision;
if (NUM_POLY_INT_COEFFS == 2)
{
/* See the corresponding code in SET_TYPE_VECTOR_SUBPARTS for a
description of the encoding. */
poly_uint64 res = 0;
res.coeffs[0] = HOST_WIDE_INT_1U << (precision & 0xff);
if (precision & 0x100)
res.coeffs[1] = HOST_WIDE_INT_1U << (precision & 0xff);
return res;
}
which looks odd anyways. Richard might know where the 10 bits have been
baked in to (ISTR something about the INTEGER_CST encoding stuff here
with the three kinds of "precisions")