aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/vect/pr99412.c
blob: e3e94a052ca13a2ec56fec235a9702dc5d72c1be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* { dg-do compile } */
/* { dg-additional-options "-Ofast --param vect-epilogues-nomask=0" } */
/* { dg-require-effective-target vect_float } */

/* From TSVC s352.  */

typedef float real_t;

#define LEN_1D 32000
#define LEN_2D 256

real_t a[LEN_1D],b[LEN_1D];
real_t foo ()
{
  real_t dot = (real_t)0.;
  for (int i = 0; i < LEN_1D; i += 5) {
      dot = dot + a[i] * b[i] + a[i + 1] * b[i + 1] + a[i + 2]
	  * b[i + 2] + a[i + 3] * b[i + 3] + a[i + 4] * b[i + 4];
  }

  return dot;
}

/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */