blob: c8fe1c762bc3223ea04697c2ec2215e0944fbca9 (
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
|
/* { dg-do run } */
/* { dg-options "-fcilkplus -O3" } */
#include <stdlib.h>
#define N 4
float f1[] = { 2.0, 3.0, 4.0, 5.0 };
float f2[] = { 1.0, 6.0, -1.0, -2.0 };
float res[] = { 3.0, 9.0, 3.0, 3.0 };
__attribute__((noinline))
void verify (float *sum)
{
for (int i=0; i < N; ++i)
if (sum[i] != res[i])
abort ();
}
int main()
{
float sum[N];
#pragma simd
for (int i=0; i < N; ++i)
sum[i] = f1[i] + f2[i];
verify (sum);
return 0;
}
|