1 __attribute__ ((noinline
)) void
2 calculate (const double *__restrict__ A
, const double *__restrict__ B
,
3 double *__restrict__ C
)
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
++)
23 for (m
= 0; m
< 10; m
++)
25 C
[(n
* 10) + m
] += A
[(k
* 20) + m
] * B
[(n
* 20) + k
];