Skip to main content

ab_riscv_interpreter/rv32/m/
zmmul.rs

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