gcc/gcc/config/aarch64
Richard Sandiford f2ebf2d98e aarch64: Make sure the UF divides the VF [PR105254]
In this PR, we were trying to set the unroll factor to a value higher
than the minimum VF (or more specifically, to a value that doesn't
divide the VF).  I guess there are two approaches to this: let the
target pick any value it likes and make target-independent code pare
it back to something that makes sense, or require targets to supply
sensible values from the outset.  This patch goes for the latter
approach.

gcc/
	PR tree-optimization/105254
	* config/aarch64/aarch64.cc
	(aarch64_vector_costs::determine_suggested_unroll_factor): Take a
	loop_vec_info as argument.  Restrict the unroll factor to values
	that divide the VF.
	(aarch64_vector_costs::finish_cost): Update call accordingly.

gcc/testsuite/
	PR tree-optimization/105254
	* g++.dg/vect/pr105254.cc: New test.
2022-04-13 17:53:54 +01:00
..
aarch64-arches.def Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-bti-insert.cc Rename .c files to .cc files. 2022-01-17 22:12:04 +01:00
aarch64-builtins.cc AArch64: fix ls64 intrinsics expansion [PR104409] 2022-04-07 16:48:05 +01:00
aarch64-c.cc AArch64: fix ls64 intrinsics expansion [PR104409] 2022-04-07 16:48:05 +01:00
aarch64-cc-fusion.cc Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-cores.def aarch64: Update Neoverse N2 core definition 2022-03-28 09:27:01 +01:00
aarch64-cost-tables.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-d.cc Rename .c files to .cc files. 2022-01-17 22:12:04 +01:00
aarch64-elf-raw.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-elf.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-errata.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-freebsd.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-fusion-pairs.def Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-ldpstp.md Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-linux.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-modes.def arm: Implement MVE predicates as vectors of booleans 2022-02-22 15:55:07 +00:00
aarch64-netbsd.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-option-extensions.def Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-opts.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-passes.def Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-protos.h AArch64: fix ls64 intrinsics expansion [PR104409] 2022-04-07 16:48:05 +01:00
aarch64-simd-builtin-types.def Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-simd-builtins.def Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-simd.md AArch64: Fix left fold sum reduction RTL patterns [PR104049] 2022-04-07 08:27:53 +01:00
aarch64-speculation.cc Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-sve-builtins-base.cc Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-sve-builtins-base.def Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-sve-builtins-base.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-sve-builtins-functions.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-sve-builtins-shapes.cc Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-sve-builtins-shapes.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-sve-builtins-sve2.cc Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-sve-builtins-sve2.def Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-sve-builtins-sve2.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-sve-builtins.cc aarch64: Fix -fpack-struct + <arm_neon.h> [PR103147] 2022-04-05 17:31:35 +01:00
aarch64-sve-builtins.def Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-sve-builtins.h aarch64: Fix -fpack-struct + <arm_neon.h> [PR103147] 2022-04-05 17:31:35 +01:00
aarch64-sve.md AArch64: use canonical ordering for complex mul, fma and fms 2022-02-02 10:51:38 +00:00
aarch64-sve2.md Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-tune.md aarch64: Fix aarch64-tune.md (re)generation [PR105144] 2022-04-04 12:09:26 +02:00
aarch64-tuning-flags.def Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64-vxworks.h Update copyright years. 2022-01-03 10:42:10 +01:00
aarch64.cc aarch64: Make sure the UF divides the VF [PR105254] 2022-04-13 17:53:54 +01:00
aarch64.h aarch64: PR target/105157 Increase number of cores TARGET_CPU_DEFAULT can encode 2022-04-08 15:12:23 +01:00
aarch64.md aarch64: Stop +mops clobbering variable values 2022-04-05 17:31:36 +01:00
aarch64.opt aarch64: Implement determine_suggested_unroll_factor 2022-03-31 17:11:32 +01:00
arm_acle.h AArch64: fix ls64 intrinsics expansion [PR104409] 2022-04-07 16:48:05 +01:00
arm_bf16.h Update copyright years. 2022-01-03 10:42:10 +01:00
arm_fp16.h Update copyright years. 2022-01-03 10:42:10 +01:00
arm_neon.h Update copyright years. 2022-01-03 10:42:10 +01:00
arm_sve.h Update copyright years. 2022-01-03 10:42:10 +01:00
atomics.md Update copyright years. 2022-01-03 10:42:10 +01:00
biarchilp32.h Update copyright years. 2022-01-03 10:42:10 +01:00
biarchlp64.h Update copyright years. 2022-01-03 10:42:10 +01:00
check-sve-md.awk Update copyright years. 2022-01-03 10:42:10 +01:00
constraints.md Update copyright years. 2022-01-03 10:42:10 +01:00
cortex-a57-fma-steering.cc Change references of .c files to .cc files 2022-01-17 22:12:07 +01:00
driver-aarch64.cc Change references of .c files to .cc files 2022-01-17 22:12:07 +01:00
falkor-tag-collision-avoidance.cc Rename .c files to .cc files. 2022-01-17 22:12:04 +01:00
falkor.md Update copyright years. 2022-01-03 10:42:10 +01:00
fractional-cost.h Fix up duplicated duplicated words in comments 2022-03-07 15:00:20 +01:00
geniterators.sh Update copyright years. 2022-01-03 10:42:10 +01:00
gentune.sh Update copyright years. 2022-01-03 10:42:10 +01:00
host-aarch64-darwin.cc Rename .c files to .cc files. 2022-01-17 22:12:04 +01:00
iterators.md aarch64: Extend PR100056 patterns to + 2022-02-16 10:21:13 +00:00
predicates.md aarch64: Add more vec_combine patterns 2022-02-09 16:57:05 +00:00
rtems.h Update copyright years. 2022-01-03 10:42:10 +01:00
saphira.md Update copyright years. 2022-01-03 10:42:10 +01:00
t-aarch64 aarch64: Restrict aarch64-tune.md regeneration to --enable-maintainer-mode [PR105144] 2022-04-04 13:56:32 +02:00
t-aarch64-freebsd Update copyright years. 2022-01-03 10:42:10 +01:00
t-aarch64-linux Update copyright years. 2022-01-03 10:42:10 +01:00
t-aarch64-netbsd Update copyright years. 2022-01-03 10:42:10 +01:00
t-aarch64-vxworks Update copyright years. 2022-01-03 10:42:10 +01:00
thunderx.md Update copyright years. 2022-01-03 10:42:10 +01:00
thunderx2t99.md Update copyright years. 2022-01-03 10:42:10 +01:00
thunderx3t110.md Fix up duplicated duplicated words in comments 2022-03-07 15:00:20 +01:00
tsv110.md Update copyright years. 2022-01-03 10:42:10 +01:00
x-aarch64 Change references of .c files to .cc files 2022-01-17 22:12:07 +01:00
x-darwin Change references of .c files to .cc files 2022-01-17 22:12:07 +01:00