Remove deprecated uarch counters; support RVC for benchmarks
[riscv-tests.git] / mt / do_matmul.c
1 #include "stdlib.h"
2
3 #include "util.h"
4
5 #include "dataset.h"
6 void __attribute__((noinline)) matmul(const int coreid, const int ncores, const int lda, const data_t A[], const data_t B[], data_t C[] )
7 {
8 int i, j, k;
9 data_t acc_temp;
10 data_t *A_j, *B_i;
11 int j_start = coreid*(32/ncores);
12 int j_end = (coreid+1)*(32/ncores);
13 for ( i = 0; i < 32; i++ ) {
14 B_i = B + i;
15 for ( j = j_start; j < j_end; j++ )
16 {
17 acc_temp = 0;
18 A_j = A + j*32;
19 for ( k = 0; k < 32; k++ )
20 {
21 acc_temp += *(A_j + k) * *(B_i + k*32);
22 }
23 C[i + j*32] = acc_temp;
24 }
25 }
26 }