LWG 3035. std::allocator's constructors should be constexpr
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / pr61680.c
blobe25bf78090ce49d68cb3694233253b403709331a
2 #include "tree-vect.h"
4 double v[4096][4];
6 __attribute__((noinline, noclone)) void
7 bar (double p[][4])
9 int i;
10 double d = 172.0;
11 for (i = 0; i < 4096; i++)
13 if (p[i][0] != 6.0 || p[i][1] != 6.0 || p[i][2] != 10.0)
14 __builtin_abort ();
15 if (__builtin_fabs (p[i][3] - d) > 0.25)
16 __builtin_abort ();
20 __attribute__((noinline, noclone)) void
21 foo (void)
23 int i;
24 double w[4096][4], t;
25 for (i = 0; i < 4096; i++)
27 w[i][0] = v[i][0] + 2.0;
28 w[i][1] = v[i][1] + 1.0;
29 w[i][2] = v[i][2] + 4.0;
30 w[i][3] = (w[i][0] * w[i][0] + w[i][1] * w[i][1] + w[i][2] * w[i][2]);
32 bar (w);
35 int
36 main ()
38 int i;
40 check_vect ();
42 for (i = 0; i < 4096; i++)
44 v[i][0] = 4.0;
45 v[i][1] = 5.0;
46 v[i][2] = 6.0;
48 foo ();
49 return 0;