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.

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 } } } } } } */

Reply via email to