From edb3549fba310722f451d2f08a171082a05f8b4a Mon Sep 17 00:00:00 2001 From: Matteo Perotti Date: Thu, 27 Jun 2024 15:04:56 +0200 Subject: [PATCH] [hardware] VMSBF does not go through VALU --- hardware/src/lane/valu.sv | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hardware/src/lane/valu.sv b/hardware/src/lane/valu.sv index 9bfc120f4..f9c447d62 100644 --- a/hardware/src/lane/valu.sv +++ b/hardware/src/lane/valu.sv @@ -795,7 +795,8 @@ module valu import ara_pkg::*; import rvv_pkg::*; import cf_math_pkg::idx_width; ////////////////////////////// if (!vinsn_queue_full && vfu_operation_valid_i && - (vfu_operation_i.vfu == VFU_Alu || vfu_operation_i.op inside {[VMSEQ:VMXNOR]})) begin + (vfu_operation_i.vfu == VFU_Alu || (vfu_operation_i.op inside {[VMSEQ:VMXNOR]} && + !(vfu_operation_i.op inside {VCPOP, VMSIF, VMSOF, VMSBF, VFIRST})))) begin vinsn_queue_d.vinsn[vinsn_queue_q.accept_pnt] = vfu_operation_i; // Do not wait for masks if, during a reduction, this lane is just a pass-through // The only valid instructions here with vl == '0 are reductions