pub enum FullRv64BInstruction<Reg> {
Show 43 variants
AddUw {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sh1add {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sh1addUw {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sh2add {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sh2addUw {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sh3add {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sh3addUw {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
SlliUw {
rd: Reg,
rs1: Reg,
shamt: u8,
},
Andn {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Orn {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Xnor {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Clz {
rd: Reg,
rs1: Reg,
},
Clzw {
rd: Reg,
rs1: Reg,
},
Ctz {
rd: Reg,
rs1: Reg,
},
Ctzw {
rd: Reg,
rs1: Reg,
},
Cpop {
rd: Reg,
rs1: Reg,
},
Cpopw {
rd: Reg,
rs1: Reg,
},
Max {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Maxu {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Min {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Minu {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sextb {
rd: Reg,
rs1: Reg,
},
Sexth {
rd: Reg,
rs1: Reg,
},
Zexth {
rd: Reg,
rs1: Reg,
},
Rol {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Rolw {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Ror {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Rori {
rd: Reg,
rs1: Reg,
shamt: u8,
},
Roriw {
rd: Reg,
rs1: Reg,
shamt: u8,
},
Rorw {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Orcb {
rd: Reg,
rs1: Reg,
},
Rev8 {
rd: Reg,
rs1: Reg,
},
Bset {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Bseti {
rd: Reg,
rs1: Reg,
shamt: u8,
},
Bclr {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Bclri {
rd: Reg,
rs1: Reg,
shamt: u8,
},
Binv {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Binvi {
rd: Reg,
rs1: Reg,
shamt: u8,
},
Bext {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Bexti {
rd: Reg,
rs1: Reg,
shamt: u8,
},
Clmul {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Clmulh {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Clmulr {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
}Variants§
AddUw
Sh1add
Sh1addUw
Sh2add
Sh2addUw
Sh3add
Sh3addUw
SlliUw
Andn
Orn
Xnor
Clz
Clzw
Ctz
Ctzw
Cpop
Cpopw
Max
Maxu
Min
Minu
Sextb
Sexth
Zexth
Rol
Rolw
Ror
Rori
Roriw
Rorw
Orcb
Rev8
Bset
Bseti
Bclr
Bclri
Binv
Binvi
Bext
Bexti
Clmul
Clmulh
Clmulr
Trait Implementations§
Source§impl<Reg: Clone> Clone for FullRv64BInstruction<Reg>
impl<Reg: Clone> Clone for FullRv64BInstruction<Reg>
Source§fn clone(&self) -> FullRv64BInstruction<Reg>
fn clone(&self) -> FullRv64BInstruction<Reg>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<Reg: Debug> Debug for FullRv64BInstruction<Reg>
impl<Reg: Debug> Debug for FullRv64BInstruction<Reg>
§impl<Reg> Display for FullRv64BInstruction<Reg>
impl<Reg> Display for FullRv64BInstruction<Reg>
§impl<Reg, Memory, PC, InstructionHandler, CustomError> ExecutableInstruction<Rv64InterpreterState<Reg, Memory, PC, InstructionHandler, CustomError>, CustomError> for FullRv64BInstruction<Reg>where
Reg: Register<Type = u64>,
[(); Reg::N]:,
Memory: VirtualMemory,
PC: ProgramCounter<Reg::Type, Memory, CustomError>,
InstructionHandler: Rv64SystemInstructionHandler<Reg, Memory, PC, CustomError>,
impl<Reg, Memory, PC, InstructionHandler, CustomError> ExecutableInstruction<Rv64InterpreterState<Reg, Memory, PC, InstructionHandler, CustomError>, CustomError> for FullRv64BInstruction<Reg>where
Reg: Register<Type = u64>,
[(); Reg::N]:,
Memory: VirtualMemory,
PC: ProgramCounter<Reg::Type, Memory, CustomError>,
InstructionHandler: Rv64SystemInstructionHandler<Reg, Memory, PC, CustomError>,
§fn execute(
self,
state: &mut Rv64InterpreterState<Reg, Memory, PC, InstructionHandler, CustomError>,
) -> Result<ControlFlow<()>, ExecutionError<Reg::Type, Self, CustomError>>
fn execute( self, state: &mut Rv64InterpreterState<Reg, Memory, PC, InstructionHandler, CustomError>, ) -> Result<ControlFlow<()>, ExecutionError<Reg::Type, Self, CustomError>>
Execute instruction
§impl<Reg> Instruction for FullRv64BInstruction<Reg>
impl<Reg> Instruction for FullRv64BInstruction<Reg>
Source§impl<Reg: PartialEq> PartialEq for FullRv64BInstruction<Reg>
impl<Reg: PartialEq> PartialEq for FullRv64BInstruction<Reg>
impl<Reg: Copy> Copy for FullRv64BInstruction<Reg>
impl<Reg: Eq> Eq for FullRv64BInstruction<Reg>
impl<Reg> StructuralPartialEq for FullRv64BInstruction<Reg>
Auto Trait Implementations§
impl<Reg> Freeze for FullRv64BInstruction<Reg>where
Reg: Freeze,
impl<Reg> RefUnwindSafe for FullRv64BInstruction<Reg>where
Reg: RefUnwindSafe,
impl<Reg> Send for FullRv64BInstruction<Reg>where
Reg: Send,
impl<Reg> Sync for FullRv64BInstruction<Reg>where
Reg: Sync,
impl<Reg> Unpin for FullRv64BInstruction<Reg>where
Reg: Unpin,
impl<Reg> UnwindSafe for FullRv64BInstruction<Reg>where
Reg: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more