On 10/23/2017 11:28 AM, Richard Sandiford wrote: > This patch changes the type of current_vector_size to poly_uint64. > It also changes TARGET_AUTOVECTORIZE_VECTOR_SIZES so that it fills > in a vector of possible sizes (as poly_uint64s) instead of returning > a bitmask. The documentation claimed that the hook didn't need to > include the default vector size (returned by preferred_simd_mode), > but that wasn't consistent with the omp-low.c usage. > > > 2017-10-23 Richard Sandiford <richard.sandif...@linaro.org> > Alan Hayward <alan.hayw...@arm.com> > David Sherwood <david.sherw...@arm.com> > > gcc/ > * target.h (vector_sizes, auto_vector_sizes): New typedefs. > * target.def (autovectorize_vector_sizes): Return the vector sizes > by pointer, using vector_sizes rather than a bitmask. > * targhooks.h (default_autovectorize_vector_sizes): Update accordingly. > * targhooks.c (default_autovectorize_vector_sizes): Likewise. > * config/aarch64/aarch64.c (aarch64_autovectorize_vector_sizes): > Likewise. > * config/arc/arc.c (arc_autovectorize_vector_sizes): Likewise. > * config/arm/arm.c (arm_autovectorize_vector_sizes): Likewise. > * config/i386/i386.c (ix86_autovectorize_vector_sizes): Likewise. > * config/mips/mips.c (mips_autovectorize_vector_sizes): Likewise. > * omp-general.c (omp_max_vf): Likewise. > * omp-low.c (omp_clause_aligned_alignment): Likewise. > * optabs-query.c (can_vec_mask_load_store_p): Likewise. > * tree-vect-loop.c (vect_analyze_loop): Likewise. > * tree-vect-slp.c (vect_slp_bb): Likewise. > * doc/tm.texi: Regenerate. > * tree-vectorizer.h (current_vector_size): Change from an unsigned int > to a poly_uint64. > * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Take > the vector size as a poly_uint64 rather than an unsigned int. > (current_vector_size): Change from an unsigned int to a poly_uint64. > (get_vectype_for_scalar_type): Update accordingly. > * tree.h (build_truth_vector_type): Take the size and number of > units as a poly_uint64 rather than an unsigned int. > (build_vector_type): Add a temporary overload that takes > the number of units as a poly_uint64 rather than an unsigned int. > * tree.c (make_vector_type): Likewise. > (build_truth_vector_type): Take the number of units as a poly_uint64 > rather than an unsigned int.
OK. jeff