Test mstatus.TW, mstatus.TVM, and mstatus.TSR features
[riscv-tests.git] / mt / vvadd0.c
1 #include "stdlib.h"
2 #include "dataset.h"
3
4 void __attribute__((noinline)) vvadd(int coreid, int ncores, size_t n, const data_t* x, const data_t* y, data_t* z)
5 {
6 size_t i;
7 size_t leftover = n % (n / ncores);
8 for (i = coreid * (n / ncores); i < (coreid + 1) * (n / ncores); i++) {
9 z[i] = x[i] + y[i];
10 }
11 for (i = (n - leftover) + coreid; i < n; i += ncores) {
12 z[i] = x[i] + y[i];
13 }
14 }