libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / pr83403.h
blob0da8a835b5f2ecdc8d178d6536877b6a0bb4ac2c
1 __attribute__ ((noinline)) void
2 calculate (const double *__restrict__ A, const double *__restrict__ B,
3 double *__restrict__ C)
5 TYPE m = 0;
6 TYPE n = 0;
7 TYPE k = 0;
9 A = (const double *) __builtin_assume_aligned (A, 16);
10 B = (const double *) __builtin_assume_aligned (B, 16);
11 C = (double *) __builtin_assume_aligned (C, 16);
13 for (n = 0; n < 9; n++)
15 for (m = 0; m < 10; m++)
17 C[(n * 10) + m] = 0.0;
20 for (k = 0; k < 17; k++)
22 #pragma simd
23 for (m = 0; m < 10; m++)
25 C[(n * 10) + m] += A[(k * 20) + m] * B[(n * 20) + k];