How does VMACC.VX handle masking?
With vm=0, v0 selects active elements; with vm=1, all body elements participate. Inactive and tail elements follow the current policies.
Add the integer product of vs1/scalar and vs2 to the old vd.
VMACC.VX is a destructive RISC-V V integer multiply-add instruction. It computes vd[i] = vd[i] + vs2[i] * the second operand. Multiplication and addition produce the low SEW-width result and do not set integer exception flags.
VMACC.VX writes only active elements; integer overflow keeps the low SEW bits and does not trap.
Understand this scenario with real code like «vsetvli t0, a0, e32, m1, ta, ma vmacc.vx v8, v4, a1».
Understand this scenario with real code like «vsetvli t0, a0, e32, m1, ta, ma vmacc.vx v8, v4, a1».
Understand this scenario with real code like «vsetvli t0, a0, e32, m1, ta, ma vmacc.vx v8, v4, a1».
With vm=0, v0 selects active elements; with vm=1, all body elements participate. Inactive and tail elements follow the current policies.