Merge pull request #34 from richardxia/use-port-randomization
[riscv-tests.git] / benchmarks / mm / mm_main.c
index 8b6a0933f096eb8202efe48586c077726da38fb7..133b5a2d73a17434e8aefef7d8e4ebf4ba8d402e 100644 (file)
@@ -6,6 +6,8 @@
 #include <stdio.h>
 #include "util.h"
 
+#pragma GCC optimize ("unroll-loops")
+
 void thread_entry(int cid, int nc)
 {
   const int R = 8;
@@ -31,11 +33,11 @@ void thread_entry(int cid, int nc)
   size_t instret, cycles;
   for (int i = 0; i < R; i++)
   {
-    instret = -rdinstret();
-    cycles = -rdcycle();
+    instret = -read_csr(minstret);
+    cycles = -read_csr(mcycle);
     mm(m, n, p, a, p, b, n, c, n);
-    instret += rdinstret();
-    cycles += rdcycle();
+    instret += read_csr(minstret);
+    cycles += read_csr(mcycle);
   }
 
   asm volatile("fence");