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, ExecutableInstructionCsr, ExecutableInstructionOperands,
29 ExecutionError, ProgramCounter, RegisterFile, Rs1Rs2OperandValues, Rs1Rs2Operands,
30 VirtualMemory,
31};
32use ab_riscv_macros::instruction_execution;
33use ab_riscv_primitives::prelude::*;
34use core::fmt;
35use core::ops::ControlFlow;
36
37#[instruction_execution]
38impl<Reg> ExecutableInstructionOperands for Zve64xInstruction<Reg> where Reg: Register {}
39
40#[instruction_execution]
41impl<Reg, ExtState, CustomError> ExecutableInstructionCsr<ExtState, CustomError>
42 for Zve64xInstruction<Reg>
43where
44 Reg: Register,
45{
46}
47
48#[instruction_execution]
49impl<Reg, Regs, ExtState, Memory, PC, InstructionHandler, CustomError>
50 ExecutableInstruction<Regs, ExtState, Memory, PC, InstructionHandler, CustomError>
51 for Zve64xInstruction<Reg>
52where
53 Reg: Register,
54{
55 #[inline(always)]
56 fn execute(
57 self,
58 Rs1Rs2OperandValues {
59 rs1_value,
60 rs2_value,
61 }: Rs1Rs2OperandValues<<Self::Reg as Register>::Type>,
62 regs: &mut Regs,
63 ext_state: &mut ExtState,
64 memory: &mut Memory,
65 program_counter: &mut PC,
66 _system_instruction_handler: &mut InstructionHandler,
67 ) -> Result<
68 ControlFlow<(), (Self::Reg, <Self::Reg as Register>::Type)>,
69 ExecutionError<Reg::Type, CustomError>,
70 > {
71 Ok(ControlFlow::Continue(Default::default()))
72 }
73}