VCLMULH.VV

Vector Carry-less Multiply High

VCLMULH.VV vd, vs2, vs1, vm

Performs carry-less multiplication, keeping the high half.

Details

Performs carry-less multiplication of vector elements (GF(2^n)), used in GHASH for GCM mode and CRC computation.

Pseudocode Operation

foreach(i < vl): vd[i] = clmulh(vs1[i], vs2[i]);

Example

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

Encoding

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

Operands

  • vd
    Destination vector register
  • vs2
    Source vector register 2
  • vs1
    Source vector register 1