Skip to main content

ab_riscv_interpreter/rv32/zk/
zbkc.rs

1//! RV32 Zbkc extension (subset of Zbc extension)
2
3use crate::rv32::b::zbc::rv32_zbc_helpers;
4use crate::{ExecutableInstruction, ExecutionError, RegisterFile};
5use ab_riscv_macros::instruction_execution;
6use ab_riscv_primitives::prelude::*;
7use core::ops::ControlFlow;
8
9#[instruction_execution]
10impl<Reg, Regs, ExtState, Memory, PC, InstructionHandler, CustomError>
11    ExecutableInstruction<Regs, ExtState, Memory, PC, InstructionHandler, CustomError>
12    for Rv32ZbkcInstruction<Reg>
13where
14    Reg: Register<Type = u32>,
15{
16    #[inline(always)]
17    fn execute(
18        self,
19        regs: &mut Regs,
20        _ext_state: &mut ExtState,
21        _memory: &mut Memory,
22        _program_counter: &mut PC,
23        _system_instruction_handler: &mut InstructionHandler,
24    ) -> Result<ControlFlow<()>, ExecutionError<Reg::Type, CustomError>> {
25        Ok(ControlFlow::Continue(()))
26    }
27}