CLMUL

E637104

CLMUL is an x86 instruction set extension that accelerates carry-less multiplication operations used in cryptography and error-correcting codes.

All labels observed (4)

Label Occurrences
CLMUL canonical 2
Carry-Less Multiplication instruction set 1
INSERTPS 1

How this entity was disambiguated

Statements (48)

Predicate Object
instanceOf x86 instruction set extension
acceleratesOperation GF(2) polynomial multiplication
carry-less multiplication
alsoKnownAs PCLMULQDQ
benefit faster CRC and checksum algorithms
hardware acceleration of polynomial multiplication over GF(2)
reduced latency for GCM authentication
bitwiseInterpretation treats operands as polynomials over GF(2)
carriesHandled no integer carries (carry-less)
category SIMD integer instruction extension
compatibleWith SSE4.2
cpuidLeaf CPUID leaf 1 ECX bit 1
definedIn AMD64 Architecture Programmer’s Manual
linked to: AMD64 architecture

Intel 64 and IA-32 Architectures Software Developer’s Manual
extensionOf SSE instruction set
featureFlag PCLMULQDQ CPUID feature bit
fullName Carry-Less Multiplication instruction set
linked to: CLMUL
hasVariant VPCLMULQDQ
improvesPerformanceFor AES-GCM implementations
CRC32C computation
Reed-Solomon style codes over GF(2^k)
instructionForm PCLMULQDQ xmm, xmm/m128, imm8
introducedBy Intel
linked to: Intel Corporation
introducedWithMicroarchitecture Intel Westmere
introducedYear 2008
opcodeName PCLMULQDQ
operandSize 64-bit lanes within 128-bit XMM registers
operatesOnRegisterType XMM
operationDomain GF(2^n)
binary finite fields
requires SSE2 support
resultType 128-bit carry-less product
supportedByVendor AMD
Intel
linked to: Intel Corporation

VIA
linked to: VIA Technologies
supportsImmediateControl 8-bit immediate selects source 64-bit halves
targetArchitecture x86
x86-64
usedByLibrary BoringSSL
OpenSSL
usedByLibrary Linux kernel crypto API
cryptography libraries implementing AES-GCM
usedIn CRC computation
GHASH
Galois/Counter Mode (GCM)
linked to: AES-GCM

cryptography
error-correcting codes
message authentication codes

How these facts were elicited

Referenced by (5)

Full triples — surface form annotated when it differs from this entity's canonical label.

Goldmont Plus supports CLMUL
Tremont supports CLMUL
B (bit-manipulation extension) hasSubextension Zbc (carry-less multiplication)
linked to: CLMUL
CLMUL fullName Carry-Less Multiplication instruction set
linked to: CLMUL
SSE4.1 includesInstruction INSERTPS
linked to: CLMUL