diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2025-03-12 09:40:10 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2025-03-12 09:40:10 +0000 |
commit | 5cef719596400a712fc72dc54dd4ec8cdb694dd5 (patch) | |
tree | 6839b36ca0c1422fd0a082172decb6d3c261051b | |
parent | 0787a65d953612a9812d69f23e3699b9e13c152d (diff) | |
download | gcc-5cef719596400a712fc72dc54dd4ec8cdb694dd5.zip gcc-5cef719596400a712fc72dc54dd4ec8cdb694dd5.tar.gz gcc-5cef719596400a712fc72dc54dd4ec8cdb694dd5.tar.bz2 |
aarch64: Tighten pr110625_1.c regexp
Before r14-2877-gbf67bf4880ce5be0, the aarch64 code assumed that
every multi-vector reduction would use single def-use cycles.
The patch fixed it to test what the vectoriser actually planned
to do, using newly provided information.
At the time, we didn't try to use single def-use cycles for any costed
variant in the associated testcase (gcc.target/aarch64/pr110625_1.c),
so it was enough to check that the single-def-use latency was never
printed to the dump file. However, we do now consider using single
def-use cycles for the single-lane SLP fallback.
This patch therefore switches to a positive test of the
non-single-def-use latency. I checked that the test still failed
in this form before r14-2877-gbf67bf4880ce5be0.
gcc/testsuite/
* gcc.target/aarch64/pr110625_1.c: Turn into a positive test for
a vector latency of 2, rather than a negative test for a vector
latency of 8.
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/pr110625_1.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/testsuite/gcc.target/aarch64/pr110625_1.c b/gcc/testsuite/gcc.target/aarch64/pr110625_1.c index 0965cac..1d0033c9 100644 --- a/gcc/testsuite/gcc.target/aarch64/pr110625_1.c +++ b/gcc/testsuite/gcc.target/aarch64/pr110625_1.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-Ofast -mcpu=neoverse-n2 -fdump-tree-vect-details -fno-tree-slp-vectorize" } */ -/* { dg-final { scan-tree-dump-not "reduction latency = 8" "vect" } } */ +/* { dg-final { scan-tree-dump {Vector issue estimate:(?:(?!Cost model).)*reduction latency = 2\n} "vect" } } */ /* Do not increase the vector body cost due to the incorrect reduction latency Original vector body cost = 51 |