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