ab_riscv_primitives/instructions/rv64/
a.rs1pub mod zaamo;
4pub mod zalrsc;
5
6use crate::instructions::Instruction;
7use crate::instructions::rv64::a::zaamo::Rv64ZaamoInstruction;
8use crate::instructions::rv64::a::zalrsc::Rv64ZalrscInstruction;
9use crate::registers::general_purpose::Register;
10use ab_riscv_macros::instruction;
11use core::fmt;
12
13#[instruction(
15 inherit = [Rv64ZaamoInstruction, Rv64ZalrscInstruction]
16)]
17#[derive(Debug, Clone, Copy)]
18#[derive_const(PartialEq, Eq)]
19pub enum Rv64AInstruction<Reg> {}
20
21#[instruction]
22const impl<Reg> Instruction for Rv64AInstruction<Reg>
23where
24 Reg: [const] Register<Type = u64>,
25{
26 const ALIGNMENT: u8 = align_of::<u32>() as u8;
27
28 type Reg = Reg;
29
30 #[inline(always)]
31 #[cfg_attr(feature = "no-panic", no_panic_const::no_panic(const))]
32 fn try_decode(instruction: u32) -> Option<Self> {
33 None
34 }
35
36 #[inline(always)]
37 fn size(&self) -> u8 {
38 size_of::<u32>() as u8
39 }
40}
41
42#[instruction]
43impl<Reg> fmt::Display for Rv64AInstruction<Reg>
44where
45 Reg: fmt::Display + Copy,
46{
47 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
48 match self {}
49 }
50}