pub enum Rv64ZknInstruction<Reg> {
Show 33 variants
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,
},
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,
},
Rev8 {
rd: Reg,
rs1: Reg,
},
Pack {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Packh {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Packw {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Brev8 {
rd: Reg,
rs1: Reg,
},
Clmul {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Clmulh {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Xperm4 {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Xperm8 {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Aes64Ds {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Aes64Dsm {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Aes64Im {
rd: Reg,
rs1: Reg,
},
Aes64Ks1i {
rd: Reg,
rs1: Reg,
rnum: Rv64ZkndKsRnum,
},
Aes64Ks2 {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Aes64Es {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Aes64Esm {
rd: Reg,
rs1: Reg,
rs2: Reg,
},
Sha256Sig0 {
rd: Reg,
rs1: Reg,
},
Sha256Sig1 {
rd: Reg,
rs1: Reg,
},
Sha256Sum0 {
rd: Reg,
rs1: Reg,
},
Sha256Sum1 {
rd: Reg,
rs1: Reg,
},
Sha512Sig0 {
rd: Reg,
rs1: Reg,
},
Sha512Sig1 {
rd: Reg,
rs1: Reg,
},
Sha512Sum0 {
rd: Reg,
rs1: Reg,
},
Sha512Sum1 {
rd: Reg,
rs1: Reg,
},
}Expand description
RISC-V RV64 Zkn (Zbkb + Zbkc + Zbkx + Zknd + Zkne + Zknh) instruction
Variants§
Andn
Orn
Xnor
Rol
Rolw
Ror
Rori
Roriw
Rorw
Rev8
Pack
Pack low 32 bits of rs1 and rs2 into rd
Packh
Pack low 8 bits of rs1 and rs2 into rd bytes 0 and 1
Packw
Pack low 16 bits of rs1 and rs2 into lower 32 bits of rd, sign-extend
Brev8
Reverse bits in each byte of rs1
Clmul
Clmulh
Xperm4
Xperm8
Aes64Ds
AES final round decryption: InvShiftRows + InvSubBytes, no MixColumns
Aes64Dsm
AES middle round decryption: InvShiftRows + InvSubBytes + InvMixColumns
Aes64Im
AES inverse MixColumns on each 32-bit word of rs1
Aes64Ks1i
AES key schedule step 1 (rnum in 0..=10)
Aes64Ks2
AES key schedule step 2
Aes64Es
AES final round encryption: ShiftRows + SubBytes, no MixColumns
Aes64Esm
AES middle round encryption: ShiftRows + SubBytes + MixColumns
Sha256Sig0
Sha256Sig1
Sha256Sum0
Sha256Sum1
Sha512Sig0
Sha512Sig1
Sha512Sum0
Sha512Sum1
Trait Implementations§
Source§impl<Reg: Clone> Clone for Rv64ZknInstruction<Reg>
impl<Reg: Clone> Clone for Rv64ZknInstruction<Reg>
Source§fn clone(&self) -> Rv64ZknInstruction<Reg>
fn clone(&self) -> Rv64ZknInstruction<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 Rv64ZknInstruction<Reg>
impl<Reg: Debug> Debug for Rv64ZknInstruction<Reg>
§impl<Reg> Display for Rv64ZknInstruction<Reg>
impl<Reg> Display for Rv64ZknInstruction<Reg>
§impl<Reg> Instruction for Rv64ZknInstruction<Reg>
impl<Reg> Instruction for Rv64ZknInstruction<Reg>
Source§impl<Reg: PartialEq> PartialEq for Rv64ZknInstruction<Reg>
impl<Reg: PartialEq> PartialEq for Rv64ZknInstruction<Reg>
impl<Reg: Copy> Copy for Rv64ZknInstruction<Reg>
impl<Reg: Eq> Eq for Rv64ZknInstruction<Reg>
impl<Reg> StructuralPartialEq for Rv64ZknInstruction<Reg>
Auto Trait Implementations§
impl<Reg> Freeze for Rv64ZknInstruction<Reg>where
Reg: Freeze,
impl<Reg> RefUnwindSafe for Rv64ZknInstruction<Reg>where
Reg: RefUnwindSafe,
impl<Reg> Send for Rv64ZknInstruction<Reg>where
Reg: Send,
impl<Reg> Sync for Rv64ZknInstruction<Reg>where
Reg: Sync,
impl<Reg> Unpin for Rv64ZknInstruction<Reg>where
Reg: Unpin,
impl<Reg> UnsafeUnpin for Rv64ZknInstruction<Reg>where
Reg: UnsafeUnpin,
impl<Reg> UnwindSafe for Rv64ZknInstruction<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