Ok for trunk, releases/gcc-16 and releases/gcc-15?
--
In r15-6807-g68326d5d1a593d, more early break loops were vectorized.
This change causes the test to fail:
$ arm-none-eabi-gcc gcc.dg/tree-ssa/predcom-8.c \
-mthumb -march=armv7ve+neon -mtune=cortex-a7 -mfloat-abi=hard -mfpu=auto \
-O3 -fdump-tree-pcom-details-blocks -S -o predcom-8.s && grep "Invalid sum"
predcom-8.*.pcom
;; Invalid sum of incoming counts 267993001 (estimated locally, freq 2.3331),
should be 234459439 (estimated locally, freq 2.0412)
;; Invalid sum of incoming counts 31724316 (estimated locally, freq 0.2762),
should be 78153146 (estimated locally, freq 0.6804)
;; Invalid sum of incoming counts 37162368 (estimated locally, freq 0.3235),
should be 67298542 (estimated locally, freq 0.5859)
;; Invalid sum of incoming counts 487993506 (estimated locally, freq 4.2485),
should be 471089795 (estimated locally, freq 4.1013)
;; Invalid sum of incoming counts 140991263 (estimated locally, freq 1.2275),
should be 114863531 (estimated locally, freq 1.0000)
Adding -fno-tree-vectorize causes the predcom-8.c.188t.vect pass to not
introduce the error.
gcc/testsuite/ChangeLog:
PR testsuite/126251
* gcc.dg/tree-ssa/predcom-8.c: Add -fno-tree-vectorize.
Signed-off-by: Torbjörn SVENSSON <[email protected]>
---
gcc/testsuite/gcc.dg/tree-ssa/predcom-8.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-8.c
b/gcc/testsuite/gcc.dg/tree-ssa/predcom-8.c
index dcddf573145..f80a07844bf 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-8.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-8.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O3 -fdump-tree-pcom-details-blocks" } */
+/* { dg-options "-O3 -fdump-tree-pcom-details-blocks -fno-tree-vectorize" } */
int is_sorted(int *a, int n)
{
--
2.43.0