aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/vect/pr120687-2.c
blob: dfc6dc726e9ffdbb7a34bbebc1ecd3119d500622 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* { dg-do compile } */
/* { dg-require-effective-target vect_float } */
/* { dg-additional-options "-ffast-math" } */

float
frd (float *p, float *lastone)
{
  float sum = 0;
  for (; p <= lastone; p += 16)
    sum += p[0] + p[1] + p[2] + p[3] + p[4] + p[5] + p[6] + p[7]
           + p[8] + p[9] + p[10] + p[11] + p[12] + p[13] + p[14] + p[15];
  return sum;
}

/* { dg-final { scan-tree-dump "reduction: detected reduction chain" "vect" } } */
/* { dg-final { scan-tree-dump-not "SLP discovery of reduction chain failed" "vect" } } */
/* { dg-final { scan-tree-dump "optimized: loop vectorized" "vect" } } */