https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89798
--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> --- One of the reasons why big vectors don't work seems to be the assumption in TYPE_VECTOR_SUBPARTS() that they can't be bigger than 2^31. But fixing this function alone doesn't seem to be sufficient. 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) { poly_uint64 res = 0; res.coeffs[0] = 1 << (precision & 0xff); if (precision & 0x100) res.coeffs[1] = 1 << (precision & 0xff); return res; } else return 1 << precision; }