Several gcc.dg/vect/vect-cost-model-?.c tests FAIL on 32 and 64-bit Solaris/SPARC:
FAIL: gcc.dg/vect/vect-cost-model-1.c -flto -ffat-lto-objects scan-tree-dump vect "LOOP VECTORIZED" FAIL: gcc.dg/vect/vect-cost-model-1.c scan-tree-dump vect "LOOP VECTORIZED" FAIL: gcc.dg/vect/vect-cost-model-3.c -flto -ffat-lto-objects scan-tree-dump vect "LOOP VECTORIZED" FAIL: gcc.dg/vect/vect-cost-model-3.c scan-tree-dump vect "LOOP VECTORIZED" FAIL: gcc.dg/vect/vect-cost-model-5.c -flto -ffat-lto-objects scan-tree-dump vect "LOOP VECTORIZED" FAIL: gcc.dg/vect/vect-cost-model-5.c scan-tree-dump vect "LOOP VECTORIZED" The dumps show /vol/gcc/src/hg/master/local/gcc/testsuite/gcc.dg/vect/vect-cost-model-1.c:7:30: note: ==> examining statement: _3 = *_2; /vol/gcc/src/hg/master/local/gcc/testsuite/gcc.dg/vect/vect-cost-model-1.c:7:30: missed: unsupported unaligned access /vol/gcc/src/hg/master/local/gcc/testsuite/gcc.dg/vect/vect-cost-model-1.c:8:6: missed: not vectorized: relevant stmt not supported: _3 = *_2; so I think the tests need to require vect_hw_misalign. This is what this patch does. Tested on sparc-sun-solaris2.11 and i386-pc-solaris2.11. Ok for trunk? Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University 2024-02-22 Rainer Orth <r...@cebitec.uni-bielefeld.de> gcc/testsuite: PR tree-optimization/98238 * gcc.dg/vect/vect-cost-model-1.c (scan-tree-dump): Also require vect_hw_misalign. * gcc.dg/vect/vect-cost-model-3.c: Likewise. * gcc.dg/vect/vect-cost-model-5.c: Likewise.
# HG changeset patch # Parent 7238442252360e699145461779d03baf86bc3a7a testsuite: vect: Require vect_hw_misalign in gcc.dg/vect/vect-cost-model-1.c etc. [PR98238] diff --git a/gcc/testsuite/gcc.dg/vect/vect-cost-model-1.c b/gcc/testsuite/gcc.dg/vect/vect-cost-model-1.c --- a/gcc/testsuite/gcc.dg/vect/vect-cost-model-1.c +++ b/gcc/testsuite/gcc.dg/vect/vect-cost-model-1.c @@ -8,4 +8,4 @@ f (int *x, int *y) x[i] += y[i]; } -/* { dg-final { scan-tree-dump {LOOP VECTORIZED} vect { target vect_int } } } */ +/* { dg-final { scan-tree-dump {LOOP VECTORIZED} vect { target { vect_int && vect_hw_misalign } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-cost-model-3.c b/gcc/testsuite/gcc.dg/vect/vect-cost-model-3.c --- a/gcc/testsuite/gcc.dg/vect/vect-cost-model-3.c +++ b/gcc/testsuite/gcc.dg/vect/vect-cost-model-3.c @@ -8,4 +8,4 @@ f (int *restrict x, int *restrict y) x[i] += y[i]; } -/* { dg-final { scan-tree-dump {LOOP VECTORIZED} vect { target vect_int } } } */ +/* { dg-final { scan-tree-dump {LOOP VECTORIZED} vect { target { vect_int && vect_hw_misalign } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-cost-model-5.c b/gcc/testsuite/gcc.dg/vect/vect-cost-model-5.c --- a/gcc/testsuite/gcc.dg/vect/vect-cost-model-5.c +++ b/gcc/testsuite/gcc.dg/vect/vect-cost-model-5.c @@ -8,4 +8,4 @@ f (int *restrict x, int *restrict y) x[i] += y[i]; } -/* { dg-final { scan-tree-dump {LOOP VECTORIZED} vect { target vect_int } } } */ +/* { dg-final { scan-tree-dump {LOOP VECTORIZED} vect { target { vect_int && vect_hw_misalign } } } } */