vdot4aus.vx

Vector 4-element unsigned-signed dot-product accumulate (vector-scalar)

This instruction is defined by:

Encoding

svg

Synopsis

Computes the dot product of four unsigned 8-bit elements from vs2 and four signed 8-bit elements packed/replicated from the scalar xs1, sums the four products, and accumulates the signed 32-bit result into the corresponding 32-bit element of vd.

This vector-scalar variant exists to save encoding space: the unsigned-vs2/signed-vs1 vector-vector combination is not separately encoded, since operand order can simply be swapped to use vdot4asu.vv instead. That swap isn’t possible for the vector-scalar form, since the scalar operand’s signedness is fixed to `xs1’s position, so this variant is provided explicitly.

Access

M HS U VS VU

Always

Always

Always

Always

Always

Decode Variables

Bits<1> vm = $encoding[25];
Bits<5> vs2 = $encoding[24:20];
Bits<5> xs1 = $encoding[19:15];
Bits<5> vd = $encoding[11:7];

Execution

  • Pruned, XLEN == 64

  • Original