From aa80b90d7a3f75f696f538f69d863f667ef0f43e Mon Sep 17 00:00:00 2001 From: Matteo Perotti Date: Wed, 20 Nov 2024 13:57:49 +0100 Subject: [PATCH] [hardware] Fix viota --- hardware/src/lane/valu.sv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardware/src/lane/valu.sv b/hardware/src/lane/valu.sv index 9474eee3d..53a14e177 100644 --- a/hardware/src/lane/valu.sv +++ b/hardware/src/lane/valu.sv @@ -792,7 +792,7 @@ module valu import ara_pkg::*; import rvv_pkg::*; import cf_math_pkg::idx_width; // The only valid instructions here with vl == '0 are reductions // Instructions that execute in the mask unit will process the mask there directly // VMADC/VMSBC requires mask bits in the ALU - vinsn_queue_d.vinsn[vinsn_queue_q.accept_pnt].vm = vfu_operation_i.op inside {[VMSEQ:VMSGT],[VMANDNOT:VMXNOR]} + vinsn_queue_d.vinsn[vinsn_queue_q.accept_pnt].vm = vfu_operation_i.op inside {[VMSEQ:VMXNOR]} && !(vfu_operation_i.op inside {[VMADC:VMSBC]}) ? 1'b1 : vfu_operation_i.vm | (vfu_operation_i.vl == '0);