From 6a27886e83856ed57914a265042d0f283c286499 Mon Sep 17 00:00:00 2001 From: Matteo Perotti Date: Thu, 31 Oct 2024 11:42:55 +0100 Subject: [PATCH] [hardware] Distinguish between whole reg and segment mem ops --- hardware/src/ara_dispatcher.sv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hardware/src/ara_dispatcher.sv b/hardware/src/ara_dispatcher.sv index 13dfc7857..2075a340b 100644 --- a/hardware/src/ara_dispatcher.sv +++ b/hardware/src/ara_dispatcher.sv @@ -2725,9 +2725,9 @@ module ara_dispatcher import ara_pkg::*; import rvv_pkg::*; #( endcase // Check for segment loads - if (ara_req.nf != 3'b000) begin + if (ara_req.nf != 3'b000 && insn.vmem_type.rs2 != 5'b01000) begin if (pending_seg_mem_op_q) begin - // This is a segment store instruction + // This is a segment load instruction is_segment_mem_op = 1'b1; // Remove pending segment mem op when over if (seg_mem_op_end) pending_seg_mem_op_d = 1'b0; @@ -2955,7 +2955,7 @@ module ara_dispatcher import ara_pkg::*; import rvv_pkg::*; #( endcase // Check for segment stores - if (ara_req.nf != 3'b000) begin + if (ara_req.nf != 3'b000 && insn.vmem_type.rs2 != 5'b01000) begin if (pending_seg_mem_op_q) begin // This is a segment store instruction is_segment_mem_op = 1'b1;