Skip to main content

ab_riscv_interpreter/rv64/zk/
zbkc.rs

1//! RV64 Zbkc extension (subset of Zbc extension)
2
3use crate::rv64::b::zbc::rv64_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 Rv64ZbkcInstruction<Reg>
13where
14    Reg: Register<Type = u64>,
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}