--- gcc/wide-int.h.jj 2023-10-09 18:05:33.230847241 +0200 +++ gcc/wide-int.h 2023-10-09 19:35:04.283138460 +0200 @@ -233,17 +233,9 @@ along with GCC; see the file COPYING3. the same result as X + X; the precision of the shift amount Y can be arbitrarily different from X. */ -/* The MAX_BITSIZE_MODE_ANY_INT is automatically generated by a very - early examination of the target's mode file. The WIDE_INT_MAX_INL_ELTS - can accomodate at least 1 more bit so that unsigned numbers of that - mode can be represented as a signed value. Note that it is still - possible to create fixed_wide_ints that have precisions greater than - MAX_BITSIZE_MODE_ANY_INT. This can be useful when representing a - double-width multiplication result, for example. */ -#define WIDE_INT_MAX_INL_ELTS \ - ((MAX_BITSIZE_MODE_ANY_INT + HOST_BITS_PER_WIDE_INT) \ - / HOST_BITS_PER_WIDE_INT) - +/* Number of bits that can be stored in inline arrays in wide_int or + widest_int. */ +#define WIDE_INT_MAX_INL_ELTS 3 #define WIDE_INT_MAX_INL_PRECISION \ (WIDE_INT_MAX_INL_ELTS * HOST_BITS_PER_WIDE_INT) --- gcc/cfgloop.h.jj 2023-10-09 17:48:35.620940437 +0200 +++ gcc/cfgloop.h 2023-10-09 19:50:18.006468381 +0200 @@ -44,7 +44,11 @@ enum iv_extend_code IV_UNKNOWN_EXTEND }; -typedef generic_wide_int > +#define BOUND_WIDE_INT_MAX_PRECISION \ + ((MAX_BITSIZE_MODE_ANY_INT + HOST_BITS_PER_WIDE_INT) \ + & ~(HOST_BITS_PER_WIDE_INT - 1)) + +typedef generic_wide_int > bound_wide_int; /* The structure describing a bound on number of iterations of a loop. */