pub enum Rv32ZbkbInstruction<Reg> {
Andn {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Orn {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Xnor {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Rol {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Ror {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Rori {
rd: Reg,
rs1: Reg,
shamt: u8,
},
Rev8 {
rd: Reg,
rs1: Reg,
},
Pack {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Packh {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Brev8 {
rd: Reg,
rs1: Reg,
},
Zip {
rd: Reg,
rs1: Reg,
},
Unzip {
rd: Reg,
rs1: Reg,
},
}Expand description
RISC-V RV32 Zbkb instruction (Bit-manipulation for Cryptography)
Variants§
Andn
Orn
Xnor
Rol
Ror
Rori
Rev8
Pack
Pack low 16 bits of rs1 into rd[15:0], low 16 bits of rs2 into rd[31:16]
Packh
Pack low 8 bits of rs1 into rd[7:0], low 8 bits of rs2 into rd[15:8]
Brev8
Reverse bits in each byte of rs1
Zip
Bit-interleave: scatter lower-half bits of rs1 to even positions, upper-half bits to odd
positions
Unzip
Inverse of zip: gather even-position bits of rs1 to lower half, odd-position bits to upper
half
Trait Implementations§
Source§impl<Reg: Clone> Clone for Rv32ZbkbInstruction<Reg>
impl<Reg: Clone> Clone for Rv32ZbkbInstruction<Reg>
Source§fn clone(&self) -> Rv32ZbkbInstruction<Reg>
fn clone(&self) -> Rv32ZbkbInstruction<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 Rv32ZbkbInstruction<Reg>
impl<Reg: Debug> Debug for Rv32ZbkbInstruction<Reg>
§impl<Reg> Display for Rv32ZbkbInstruction<Reg>
impl<Reg> Display for Rv32ZbkbInstruction<Reg>
§impl<Reg> Instruction for Rv32ZbkbInstruction<Reg>
impl<Reg> Instruction for Rv32ZbkbInstruction<Reg>
Source§impl<Reg: PartialEq> PartialEq for Rv32ZbkbInstruction<Reg>
impl<Reg: PartialEq> PartialEq for Rv32ZbkbInstruction<Reg>
impl<Reg: Copy> Copy for Rv32ZbkbInstruction<Reg>
impl<Reg: Eq> Eq for Rv32ZbkbInstruction<Reg>
impl<Reg> StructuralPartialEq for Rv32ZbkbInstruction<Reg>
Auto Trait Implementations§
impl<Reg> Freeze for Rv32ZbkbInstruction<Reg>where
Reg: Freeze,
impl<Reg> RefUnwindSafe for Rv32ZbkbInstruction<Reg>where
Reg: RefUnwindSafe,
impl<Reg> Send for Rv32ZbkbInstruction<Reg>where
Reg: Send,
impl<Reg> Sync for Rv32ZbkbInstruction<Reg>where
Reg: Sync,
impl<Reg> Unpin for Rv32ZbkbInstruction<Reg>where
Reg: Unpin,
impl<Reg> UnsafeUnpin for Rv32ZbkbInstruction<Reg>where
Reg: UnsafeUnpin,
impl<Reg> UnwindSafe for Rv32ZbkbInstruction<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