ab_riscv_interpreter/v/
zve64x.rs1pub mod arith;
4pub mod config;
5pub mod fixed_point;
6pub mod load;
7pub mod mask;
8pub mod muldiv;
9pub mod perm;
10pub mod reduction;
11pub mod store;
12pub mod widen_narrow;
13pub mod zve64x_helpers;
14
15use crate::v::vector_registers::VectorRegistersExt;
16use crate::v::zve64x::arith::zve64x_arith_helpers;
17use crate::v::zve64x::config::zve64x_config_helpers;
18use crate::v::zve64x::fixed_point::zve64x_fixed_point_helpers;
19use crate::v::zve64x::load::zve64x_load_helpers;
20use crate::v::zve64x::mask::zve64x_mask_helpers;
21use crate::v::zve64x::muldiv::zve64x_muldiv_helpers;
22use crate::v::zve64x::perm::zve64x_perm_helpers;
23use crate::v::zve64x::reduction::zve64x_reduction_helpers;
24use crate::v::zve64x::store::zve64x_store_helpers;
25use crate::v::zve64x::widen_narrow::zve64x_widen_narrow_helpers;
26use crate::zicsr::zicsr_helpers;
27use crate::{
28 CsrError, Csrs, ExecutableInstruction, ExecutionError, ProgramCounter, RegisterFile,
29 VirtualMemory,
30};
31use ab_riscv_macros::instruction_execution;
32use ab_riscv_primitives::prelude::*;
33use core::fmt;
34use core::ops::ControlFlow;
35
36#[instruction_execution]
37impl<Reg, Regs, ExtState, Memory, PC, InstructionHandler, CustomError>
38 ExecutableInstruction<Regs, ExtState, Memory, PC, InstructionHandler, CustomError>
39 for Zve64xInstruction<Reg>
40where
41 Reg: Register,
42{
43 #[inline(always)]
44 fn execute(
45 self,
46 regs: &mut Regs,
47 ext_state: &mut ExtState,
48 memory: &mut Memory,
49 program_counter: &mut PC,
50 _system_instruction_handler: &mut InstructionHandler,
51 ) -> Result<ControlFlow<()>, ExecutionError<Reg::Type, CustomError>> {
52 Ok(ControlFlow::Continue(()))
53 }
54}