diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/monniaux/cycles.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/monniaux/cycles.h b/test/monniaux/cycles.h index e4f098cd..4231a34e 100644 --- a/test/monniaux/cycles.h +++ b/test/monniaux/cycles.h @@ -23,6 +23,14 @@ static inline void cycle_count_config(void) { } #ifdef __x86_64__ #include <x86intrin.h> static inline cycle_t get_cycle(void) { return __rdtsc(); } + +#elif __riscv +static inline cycle_t get_cycle(void) { + cycle_t cycles; + asm volatile ("rdcycle %0" : "=r" (cycles)); + return cycles; +} + #else static inline cycle_t get_cycle(void) { return 0; } #endif |