ab_riscv_primitives/instructions/rv32/
b.rs1pub mod zba;
4pub mod zbb;
5pub mod zbc;
6pub mod zbs;
7
8use crate::instructions::Instruction;
9use crate::instructions::rv32::b::zba::Rv32ZbaInstruction;
10use crate::instructions::rv32::b::zbb::Rv32ZbbInstruction;
11use crate::instructions::rv32::b::zbs::Rv32ZbsInstruction;
12use crate::registers::general_purpose::Register;
13use ab_riscv_macros::instruction;
14use core::fmt;
15
16#[instruction(
18 inherit = [Rv32ZbaInstruction, Rv32ZbbInstruction, Rv32ZbsInstruction]
19)]
20#[derive(Debug, Clone, Copy, PartialEq, Eq)]
21pub enum Rv32BInstruction<Reg> {}
22
23#[instruction]
24const impl<Reg> Instruction for Rv32BInstruction<Reg>
25where
26 Reg: [const] Register<Type = u32>,
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 alignment() -> u8 {
38 align_of::<u32>() as u8
39 }
40
41 #[inline(always)]
42 fn size(&self) -> u8 {
43 size_of::<u32>() as u8
44 }
45}
46
47#[instruction]
48impl<Reg> fmt::Display for Rv32BInstruction<Reg>
49where
50 Reg: fmt::Display + Copy,
51{
52 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
53 match self {}
54 }
55}