pub enum Rv32Instruction<Reg> {
Show 42 variants
Add {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sub {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sll {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Slt {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sltu {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Xor {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Srl {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sra {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Or {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
And {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Addi {
rd: Reg,
rs1: Reg,
imm: i16,
},
Slti {
rd: Reg,
rs1: Reg,
imm: i16,
},
Sltiu {
rd: Reg,
rs1: Reg,
imm: i16,
},
Xori {
rd: Reg,
rs1: Reg,
imm: i16,
},
Ori {
rd: Reg,
rs1: Reg,
imm: i16,
},
Andi {
rd: Reg,
rs1: Reg,
imm: i16,
},
Slli {
rd: Reg,
rs1: Reg,
shamt: u8,
},
Srli {
rd: Reg,
rs1: Reg,
shamt: u8,
},
Srai {
rd: Reg,
rs1: Reg,
shamt: u8,
},
Lb {
rd: Reg,
rs1: Reg,
imm: i16,
},
Lh {
rd: Reg,
rs1: Reg,
imm: i16,
},
Lw {
rd: Reg,
rs1: Reg,
imm: i16,
},
Lbu {
rd: Reg,
rs1: Reg,
imm: i16,
},
Lhu {
rd: Reg,
rs1: Reg,
imm: i16,
},
Jalr {
rd: Reg,
rs1: Reg,
imm: i16,
},
Sb {
rs2: Reg,
rs1: Reg,
imm: i16,
},
Sh {
rs2: Reg,
rs1: Reg,
imm: i16,
},
Sw {
rs2: Reg,
rs1: Reg,
imm: i16,
},
Beq {
rs1: Reg,
rs2: Reg,
imm: i32,
},
Bne {
rs1: Reg,
rs2: Reg,
imm: i32,
},
Blt {
rs1: Reg,
rs2: Reg,
imm: i32,
},
Bge {
rs1: Reg,
rs2: Reg,
imm: i32,
},
Bltu {
rs1: Reg,
rs2: Reg,
imm: i32,
},
Bgeu {
rs1: Reg,
rs2: Reg,
imm: i32,
},
Lui {
rd: Reg,
imm: i32,
},
Auipc {
rd: Reg,
imm: i32,
},
Jal {
rd: Reg,
imm: i32,
},
Fence {
pred: u8,
succ: u8,
},
FenceTso,
Ecall,
Ebreak,
Unimp,
}Expand description
RISC-V RV32 instruction
Variants§
Add
Sub
Sll
Slt
Sltu
Xor
Srl
Sra
Or
And
Addi
Slti
Sltiu
Xori
Ori
Andi
Slli
Srli
Srai
Lb
Lh
Lw
Lbu
Lhu
Jalr
Sb
Sh
Sw
Beq
Bne
Blt
Bge
Bltu
Bgeu
Lui
Auipc
Jal
Fence
FenceTso
Ecall
Ebreak
Unimp
Trait Implementations§
Source§impl<Reg: Clone> Clone for Rv32Instruction<Reg>
impl<Reg: Clone> Clone for Rv32Instruction<Reg>
Source§fn clone(&self) -> Rv32Instruction<Reg>
fn clone(&self) -> Rv32Instruction<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 Rv32Instruction<Reg>
impl<Reg: Debug> Debug for Rv32Instruction<Reg>
Source§impl<Reg> Display for Rv32Instruction<Reg>where
Reg: Display,
impl<Reg> Display for Rv32Instruction<Reg>where
Reg: Display,
§impl<Reg> Instruction for Rv32Instruction<Reg>
impl<Reg> Instruction for Rv32Instruction<Reg>
Source§impl<Reg: PartialEq> PartialEq for Rv32Instruction<Reg>
impl<Reg: PartialEq> PartialEq for Rv32Instruction<Reg>
impl<Reg: Copy> Copy for Rv32Instruction<Reg>
impl<Reg: Eq> Eq for Rv32Instruction<Reg>
impl<Reg> StructuralPartialEq for Rv32Instruction<Reg>
Auto Trait Implementations§
impl<Reg> Freeze for Rv32Instruction<Reg>where
Reg: Freeze,
impl<Reg> RefUnwindSafe for Rv32Instruction<Reg>where
Reg: RefUnwindSafe,
impl<Reg> Send for Rv32Instruction<Reg>where
Reg: Send,
impl<Reg> Sync for Rv32Instruction<Reg>where
Reg: Sync,
impl<Reg> Unpin for Rv32Instruction<Reg>where
Reg: Unpin,
impl<Reg> UnsafeUnpin for Rv32Instruction<Reg>where
Reg: UnsafeUnpin,
impl<Reg> UnwindSafe for Rv32Instruction<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