blob: 59f419b67145ef84b0df56b528e6a5646339e13f (
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
25
26
27
28
29
30
31
32
33
34
35
|
/* { dg-lto-do link } */
/* { dg-require-effective-target vect_simd_clones } */
/* { dg-require-effective-target avx2 } */
/* { dg-lto-options { { -fopenmp-simd -O3 -ffast-math -mavx2 -flto -flto-partition=max } } } */
#define SIZE 4096
float x[SIZE];
#pragma omp declare simd
float
__attribute__ ((noinline))
my_mul (float x, float y) {
return x * y;
}
__attribute__ ((noinline))
int foo ()
{
int i = 0;
#pragma omp simd safelen (16)
for (i = 0; i < SIZE; i++)
x[i] = my_mul ((float)i, 9932.3323);
return (int)x[0];
}
int main ()
{
int i = 0;
for (i = 0; i < SIZE; i++)
x[i] = my_mul ((float) i, 9932.3323);
foo ();
return (int)x[0];
}
|