pub enum Rv32BInstruction<Hart>where
Hart: HartConfig,{
Show 29 variants
Sh1add {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Sh2add {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Sh3add {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Andn {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Orn {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Xnor {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Clz {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Ctz {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Cpop {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Max {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Maxu {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Min {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Minu {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Sextb {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Sexth {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Zexth {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Rol {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Ror {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Rori {
rs1: Hart::Reg,
rd: Hart::Reg,
shamt: Shamt<u32>,
/* private fields */
},
Orcb {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Rev8 {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Bset {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Bseti {
rs1: Hart::Reg,
rd: Hart::Reg,
shamt: Shamt<u32>,
/* private fields */
},
Bclr {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Bclri {
rs1: Hart::Reg,
rd: Hart::Reg,
shamt: Shamt<u32>,
/* private fields */
},
Binv {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Binvi {
rs1: Hart::Reg,
rd: Hart::Reg,
shamt: Shamt<u32>,
/* private fields */
},
Bext {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Bexti {
rs1: Hart::Reg,
rd: Hart::Reg,
shamt: Shamt<u32>,
/* private fields */
},
}Expand description
RISC-V RV32 B (Zba + Zbb + Zbs) instruction
Variants§
Sh1add
Sh2add
Sh3add
Andn
Orn
Xnor
Clz
Ctz
Cpop
Max
Maxu
Min
Minu
Sextb
Sexth
Zexth
Rol
Ror
Rori
Orcb
Rev8
Bset
Bseti
Bclr
Bclri
Binv
Binvi
Bext
Bexti
Trait Implementations§
Source§impl<Hart> Clone for Rv32BInstruction<Hart>
impl<Hart> Clone for Rv32BInstruction<Hart>
Source§fn clone(&self) -> Rv32BInstruction<Hart>
fn clone(&self) -> Rv32BInstruction<Hart>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<Hart> Copy for Rv32BInstruction<Hart>
Source§impl<Hart> Debug for Rv32BInstruction<Hart>
impl<Hart> Debug for Rv32BInstruction<Hart>
§impl<Reg, Hart> Display for Rv32BInstruction<Hart>
impl<Reg, Hart> Display for Rv32BInstruction<Hart>
impl<Hart> Eq for Rv32BInstruction<Hart>
§impl<Reg, Hart> Instruction for Rv32BInstruction<Hart>
impl<Reg, Hart> Instruction for Rv32BInstruction<Hart>
§const IMPLEMENTED_EXTENSIONS: &'static [ImplementedExtension]
const IMPLEMENTED_EXTENSIONS: &'static [ImplementedExtension]
All implemented extensions, including this instruction itself, with their ISA extensions. Read more
§const OWN_ISA_EXTENSIONS: &'static [IsaExtension]
const OWN_ISA_EXTENSIONS: &'static [IsaExtension]
ISA extensions defined by this instruction enum itself, without inherited ones. Read more
§fn try_decode(instruction: u32) -> Option<Self>
fn try_decode(instruction: u32) -> Option<Self>
Try to decode a single valid instruction
Source§const ISA_STRING: &'static str = _
const ISA_STRING: &'static str = _
ISA string as used in the
Tag_RISCV_arch attribute of ELF files, for example,
rv64i2p1_m2p0_zmmul1p0. Read moreSource§fn implements_extension<E>() -> boolwhere
E: Instruction<Hart = Self::Hart>,
fn implements_extension<E>() -> boolwhere
E: Instruction<Hart = Self::Hart>,
Checks whether this instruction implements the given extension, see
Self::IMPLEMENTED_EXTENSIONS for detailsSource§impl<Hart> PartialEq for Rv32BInstruction<Hart>
impl<Hart> PartialEq for Rv32BInstruction<Hart>
impl<Hart> StructuralPartialEq for Rv32BInstruction<Hart>
Auto Trait Implementations§
impl<Hart> Freeze for Rv32BInstruction<Hart>
impl<Hart> RefUnwindSafe for Rv32BInstruction<Hart>
impl<Hart> Send for Rv32BInstruction<Hart>
impl<Hart> Sync for Rv32BInstruction<Hart>
impl<Hart> Unpin for Rv32BInstruction<Hart>
impl<Hart> UnsafeUnpin for Rv32BInstruction<Hart>
impl<Hart> UnwindSafe for Rv32BInstruction<Hart>
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