On Thu, Jun 8, 2023 at 1:24 PM Lehua Ding <lehua.d...@rivai.ai> wrote: > > Hi, > > This patch fixes the problem that the loop in the tsvc s176 function is > optimized and removed because `iterations/LEN_1D` is 0 (where iterations > is set to 10000, LEN_1D is set to 32000 in tsvc.h). > > This testcase passed on x86 and AArch64 system.
OK. It's odd that the checksum doesn't depend on the number of iterations done ... > Best, > Lehua > > gcc/testsuite/ChangeLog: > > * gcc.dg/vect/tsvc/vect-tsvc-s176.c: adjust iterations > > --- > gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s176.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s176.c > b/gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s176.c > index 79faf7fdb9e4..365e5205982b 100644 > --- a/gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s176.c > +++ b/gcc/testsuite/gcc.dg/vect/tsvc/vect-tsvc-s176.c > @@ -14,7 +14,7 @@ real_t s176(struct args_t * func_args) > initialise_arrays(__func__); > > int m = LEN_1D/2; > - for (int nl = 0; nl < 4*(iterations/LEN_1D); nl++) { > + for (int nl = 0; nl < 4*(10*iterations/LEN_1D); nl++) { > for (int j = 0; j < (LEN_1D/2); j++) { > for (int i = 0; i < m; i++) { > a[i] += b[i+m-j-1] * c[j]; > @@ -39,4 +39,4 @@ int main (int argc, char **argv) > return 0; > } > > -/* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { xfail *-*-* } } > } */ > +/* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" } } */ > -- > 2.36.1 >