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")

Reply via email to