VNMSUB.VV

Vector Integer Negative Multiply-Subtract

VNMSUB.VV vd, vs1, vs2, vm

Computes vd = -(vd - (vs1 * vs2)).

Details

Performs a narrowing operation, halving the result element width relative to the source. Optionally saturates the result. Active elements are determined by vl; masking by vm.

Pseudocode Operation

foreach(i < vl): vd[i] = -(vd[i] - (vs1[i] * vs2[i]));

Example

VNMSUB.VV v1, v2, v4, v0.t

Encoding

Binary Layout
111011
31:26
vm
25
vs2
24:20
vs1
19:15
000
14:12
vd
11:7
1010111
6:0
 
Format OPIVV
Opcode 0x57
Extension V

Operands

  • vd
    Dest/Accumulator
  • vs1
    Source vector register 1
  • vs2
    Source vector register 2