CLMULH
Operation
Writes the high selected-width half of the carryless source-by-destination product.
Assembler Syntax
CLMULH.Q <ea>(e), Rn(d)
CLMULH.Q Rn(s), Rn(d)
Privilege
Unprivileged
Repeat eligibility
REP eligible; REPcc observes dst
Forms the carryless polynomial product of the selected-width source and destination values and writes its high half to the destination.
Treat each selected-width operand as a polynomial over \(\operatorname{GF}(2)\), with operand bit \(i\) as the coefficient of \(x^i\). Their double-width product is $\(P = \bigoplus_{i=0}^{n-1} s_i (d \ll i) .\)$ Addition in this expression is exclusive-or, so no carry propagates between bit positions. CLMULH writes the high \(n\) bits of \(P\) to the destination.
2.75in
Encodings
CLMULH.Q <ea>(e), Rn(d)
Format: Instruction format for CLMULH.Q <ea>(e), Rn(d)
2.75in CLMULH.Q Rn(s), Rn(d)
Format: Instruction format for CLMULH.Q Rn(s), Rn(d)