use crate::{Arch, asm};
impl Arch {
#[cfg(target_arch = "riscv32")]
pub fn rdcycle() -> u32 {
let cycles;
unsafe {
asm!("rdcycle {}", out(reg) cycles, options(nomem, nostack));
}
cycles
}
#[cfg(target_arch = "riscv64")]
pub fn rdcycle() -> u64 {
let cycles;
unsafe {
asm!("rdcycle {}", out(reg) cycles, options(nomem, nostack));
}
cycles
}
}