Changes since v1:
- Removed -fno-tree-vectorize and added xfail instead.
I've assumed that the issue exist for any arm*-*-* toolchain, and not just
arm-none-eabi. Is this true?
For releases/gcc-15, the check will be slightly different since
r15-9570-gd88bbce5757db4 already xfail aarch64.
The statement for releases/gcc-15 will instead be:
/* { dg-final { scan-tree-dump-not "Invalid sum" "pcom" { xfail { aarch64*-*-*
|| { arm*-*-* && { hard_float && { ! arm_mve } } } } } } } */
Ok for trunk, releases/gcc-16 and releases/gcc-15?
Kind regards,
Torbjörn
--
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)
The failures only happens for non-MVE targets in hard float ABI, thus
xfail test for these targets.
gcc/testsuite/ChangeLog:
PR testsuite/118407
* gcc.dg/tree-ssa/predcom-8.c: Xfail test for arm*-*-* in hard
float ABI without MVE.
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..d2f0ae0df6f 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-8.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-8.c
@@ -10,4 +10,4 @@ int is_sorted(int *a, int n)
}
/* { dg-final { scan-tree-dump "Executing predictive commoning without
unrolling" "pcom" } } */
-/* { dg-final { scan-tree-dump-not "Invalid sum" "pcom" } } */
+/* { dg-final { scan-tree-dump-not "Invalid sum" "pcom" { xfail { arm*-*-* &&
{ hard_float && { ! arm_mve } } } } } } */
--
2.43.0