vpmsumd

Vector Polynomial Multiply-Sum Doubleword

vpmsumd vD, vA, vB

Performs GF(2) polynomial arithmetic on doublewords.

Details

The vpmsumd instruction performs a vector polynomial multiply-sum operation on doublewords. It multiplies corresponding elements of two input vectors, sums the results, and stores them in the destination vector.

Pseudocode Operation

// VMX vector operation -> v1

Programming Note

The vpmsumd instruction is commonly used for performing polynomial multiplication and summation operations on large datasets efficiently. Ensure that the input vectors are properly aligned to doubleword boundaries to avoid alignment faults. This instruction operates at user privilege level, but care must be taken to handle potential overflow conditions in the sum results. Performance can be optimized by ensuring that the data is loaded into vector registers before executing vpmsumd.

Example

vpmsumd vd, va, vb

Encoding

Binary Layout
4
0
vD
6
vA
11
vB
16
1224
21
 
Format VX-form
Opcode 0x100004C8
Extension Vector Crypto

Operands

  • vD
    Target
  • vA
    Src A
  • vB
    Src B