Rework benchmarks to run in M-mode
[riscv-tests.git] / benchmarks / common / util.h
index 2fcc89dffa18848ee03086243e0074d1150acac4..c35bf7cde831b39354e7da5791737694840adb54 100644 (file)
@@ -126,9 +126,9 @@ static uint64_t lfsr(uint64_t x)
 #define stringify_1(s) #s
 #define stringify(s) stringify_1(s)
 #define stats(code, iter) do { \
 #define stringify_1(s) #s
 #define stringify(s) stringify_1(s)
 #define stats(code, iter) do { \
-    unsigned long _c = -rdcycle(), _i = -rdinstret(); \
+    unsigned long _c = -read_csr(mcycle), _i = -read_csr(minstret); \
     code; \
     code; \
-    _c += rdcycle(), _i += rdinstret(); \
+    _c += read_csr(mcycle), _i += read_csr(minstret); \
     if (cid == 0) \
       printf("\n%s: %ld cycles, %ld.%ld cycles/iter, %ld.%ld CPI\n", \
              stringify(code), _c, _c/iter, 10*_c/iter%10, _c/_i, 10*_c/_i%10); \
     if (cid == 0) \
       printf("\n%s: %ld cycles, %ld.%ld cycles/iter, %ld.%ld CPI\n", \
              stringify(code), _c, _c/iter, 10*_c/iter%10, _c/_i, 10*_c/_i%10); \