===================================================================
@@ -1901,7 +1901,7 @@ The default implementation returns the m
is @var{length} bytes long and that contains @var{nunits} elements,\n\
if such a mode exists.",
opt_machine_mode,
- (unsigned nunits, unsigned length),
+ (poly_uint64 nunits, poly_uint64 length),
default_get_mask_mode)
/* Target builtin that implements vector gather operation. */
===================================================================
@@ -107,7 +107,7 @@ default_builtin_support_vector_misalignm
int, bool);
extern machine_mode default_preferred_simd_mode (scalar_mode mode);
extern unsigned int default_autovectorize_vector_sizes (void);
-extern opt_machine_mode default_get_mask_mode (unsigned, unsigned);
+extern opt_machine_mode default_get_mask_mode (poly_uint64, poly_uint64);
extern void *default_init_cost (struct loop *);
extern unsigned default_add_stmt_cost (void *, int, enum vect_cost_for_stmt,
struct _stmt_vec_info *, int,
===================================================================
@@ -1254,17 +1254,17 @@ default_autovectorize_vector_sizes (void
return 0;
}
-/* By defaults a vector of integers is used as a mask. */
+/* By default a vector of integers is used as a mask. */
opt_machine_mode
-default_get_mask_mode (unsigned nunits, unsigned vector_size)
+default_get_mask_mode (poly_uint64 nunits, poly_uint64 vector_size)
{
- unsigned elem_size = vector_size / nunits;
+ unsigned int elem_size = vector_element_size (vector_size, nunits);
scalar_int_mode elem_mode
= smallest_int_mode_for_size (elem_size * BITS_PER_UNIT);
machine_mode vector_mode;
- gcc_assert (elem_size * nunits == vector_size);
+ gcc_assert (must_eq (elem_size * nunits, vector_size));
if (mode_for_vector (elem_mode, nunits).exists (&vector_mode)
&& VECTOR_MODE_P (vector_mode)
===================================================================
@@ -48121,7 +48121,7 @@ ix86_autovectorize_vector_sizes (void)
/* Implemenation of targetm.vectorize.get_mask_mode. */
static opt_machine_mode
-ix86_get_mask_mode (unsigned nunits, unsigned vector_size)
+ix86_get_mask_mode (poly_uint64 nunits, poly_uint64 vector_size)
{
unsigned elem_size = vector_size / nunits;
===================================================================
@@ -5846,7 +5846,7 @@ mode returned by @code{TARGET_VECTORIZE_
The default is zero which means to not iterate over other vector sizes.
@end deftypefn
-@deftypefn {Target Hook} opt_machine_mode TARGET_VECTORIZE_GET_MASK_MODE (unsigned @var{nunits}, unsigned @var{length})
+@deftypefn {Target Hook} opt_machine_mode TARGET_VECTORIZE_GET_MASK_MODE (poly_uint64 @var{nunits}, poly_uint64 @var{length})
A vector mask is a value that holds one boolean result for every element
in a vector. This hook returns the machine mode that should be used to
represent such a mask when the vector in question is @var{length} bytes