pub enum Rv64ZbbInstruction<Hart>where
Hart: HartConfig,{
Show 24 variants
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 */
},
Clzw {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Ctz {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Ctzw {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Cpop {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Cpopw {
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,
},
Rolw {
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<u64>,
/* private fields */
},
Roriw {
rs1: Hart::Reg,
rd: Hart::Reg,
shamt: Shamt<u32>,
/* private fields */
},
Rorw {
rs1: Hart::Reg,
rs2: Hart::Reg,
rd: Hart::Reg,
},
Orcb {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
Rev8 {
rs1: Hart::Reg,
rd: Hart::Reg,
/* private fields */
},
}Expand description
RISC-V RV64 Zbb instruction (Basic bit manipulation)
Variants§
Andn
Orn
Xnor
Clz
Clzw
Ctz
Ctzw
Cpop
Cpopw
Max
Maxu
Min
Minu
Sextb
Sexth
Zexth
Rol
Rolw
Ror
Rori
Roriw
Rorw
Orcb
Rev8
Trait Implementations§
Source§impl<Hart> Clone for Rv64ZbbInstruction<Hart>
impl<Hart> Clone for Rv64ZbbInstruction<Hart>
Source§fn clone(&self) -> Rv64ZbbInstruction<Hart>
fn clone(&self) -> Rv64ZbbInstruction<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 Rv64ZbbInstruction<Hart>
Source§impl<Hart> Debug for Rv64ZbbInstruction<Hart>
impl<Hart> Debug for Rv64ZbbInstruction<Hart>
§impl<Reg, Hart> Display for Rv64ZbbInstruction<Hart>
impl<Reg, Hart> Display for Rv64ZbbInstruction<Hart>
impl<Hart> Eq for Rv64ZbbInstruction<Hart>
§impl<Reg, Hart> Instruction for Rv64ZbbInstruction<Hart>
impl<Reg, Hart> Instruction for Rv64ZbbInstruction<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 Rv64ZbbInstruction<Hart>
impl<Hart> PartialEq for Rv64ZbbInstruction<Hart>
impl<Hart> StructuralPartialEq for Rv64ZbbInstruction<Hart>
Auto Trait Implementations§
impl<Hart> Freeze for Rv64ZbbInstruction<Hart>
impl<Hart> RefUnwindSafe for Rv64ZbbInstruction<Hart>
impl<Hart> Send for Rv64ZbbInstruction<Hart>
impl<Hart> Sync for Rv64ZbbInstruction<Hart>
impl<Hart> Unpin for Rv64ZbbInstruction<Hart>
impl<Hart> UnsafeUnpin for Rv64ZbbInstruction<Hart>
impl<Hart> UnwindSafe for Rv64ZbbInstruction<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