pub mod rv32;
pub mod rv64;
#[cfg(test)]
mod test_utils;
pub mod v;
pub mod zicond;
pub mod zicsr;
use crate::registers::general_purpose::Register;
use core::fmt;
use core::marker::Destruct;
pub const trait Instruction:
fmt::Display + fmt::Debug + [const] Destruct + Copy + Send + Sync + Sized
{
type Reg: Register;
fn try_decode(instruction: u32) -> Option<Self>;
fn alignment() -> u8;
fn size(&self) -> u8;
}