* cfgloop.h (struct loop): Add simdlen member. * cfgloopmanip.c (copy_loop_info): Copy simdlen as well. * omp-expand.c (expand_omp_simd): Set it if simdlen clause is present. * tree-vect-loop.c (vect_analyze_loop): Pass loop->simdlen != 0 as new argument to autovectorize_vector_sizes target hook. If loop->simdlen, pick up vector size where the vectorization factor is equal to loop->simd, and if there is none, fall back to the first successful one. (vect_transform_loop): Adjust autovectorize_vector_sizes target hook caller. * omp-low.c (omp_clause_aligned_alignment): Likewise. * omp-general.c (omp_max_vf): Likewise. * optabs-query.c (can_vec_mask_load_store_p): Likewise. * tree-vect-slp.c (vect_slp_bb): Likewise. * target.def (autovectorize_vector_sizes): Add ALL argument and document it. * doc/tm.texi: Adjust documentation. * targhooks.c (default_autovectorize_vector_sizes): Add bool argument. * targhooks.h (default_autovectorize_vector_sizes): Likewise. * config/aarch64/aarch64.c (aarch64_autovectorize_vector_sizes): Add bool argument. * config/arc/arc.c (arc_autovectorize_vector_sizes): Likewise. * config/arm/arm.c (arm_autovectorize_vector_sizes): Likewise. * config/mips/mips.c (mips_autovectorize_vector_sizes): Likewise. * config/i386/i386.c (ix86_autovectorize_vector_sizes): Likewise. If true and TARGET_AVX512F or TARGET_AVX, push 3 or 2 sizes even if preferred vector size is not 512-bit or 256-bit, just put those unpreferred ones last. * gcc.target/i386/avx512f-simd-1.c: New test. From-SVN: r271403
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
arc-arch.h | Loading commit data... | |
arc-arches.def | Loading commit data... | |
arc-c.c | Loading commit data... | |
arc-c.def | Loading commit data... | |
arc-cpus.def | Loading commit data... | |
arc-modes.def | Loading commit data... | |
arc-options.def | Loading commit data... | |
arc-opts.h | Loading commit data... | |
arc-protos.h | Loading commit data... | |
arc-simd.h | Loading commit data... | |
arc-tables.opt | Loading commit data... | |
arc.c | Loading commit data... | |
arc.h | Loading commit data... | |
arc.md | Loading commit data... | |
arc.opt | Loading commit data... | |
arc600.md | Loading commit data... | |
arc700.md | Loading commit data... | |
arcEM.md | Loading commit data... | |
arcHS.md | Loading commit data... | |
arcHS4x.md | Loading commit data... | |
atomic.md | Loading commit data... | |
big.h | Loading commit data... | |
builtins.def | Loading commit data... | |
constraints.md | Loading commit data... | |
driver-arc.c | Loading commit data... | |
elf.h | Loading commit data... | |
fpu.md | Loading commit data... | |
fpx.md | Loading commit data... | |
genmultilib.awk | Loading commit data... | |
genoptions.awk | Loading commit data... | |
linux.h | Loading commit data... | |
predicates.md | Loading commit data... | |
simdext.md | Loading commit data... | |
t-arc | Loading commit data... | |
t-multilib | Loading commit data... | |
t-multilib-linux | Loading commit data... |