On 2026-07-20 14:03, Richard Earnshaw (foss) wrote:
On 15/07/2026 10:07, Torbjörn SVENSSON wrote: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?OK.
Pushed as r17-2558-g383854a7016ad2, r16-9313-g04549eb0bea2b3 and r15-11397-g155193b2697fac. Kind regards, Torbjörn
R.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 } } } } } } */
