CLMUL

E637104

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

Try in SPARQL Jump to: Surface forms Statements Referenced by

Observed surface forms (1)

Surface form Occurrences
Zbc (carry-less multiplication) 1

Statements (48)

Predicate Object
instanceOf x86 instruction set extension
acceleratesOperation GF(2) polynomial multiplication
carry-less multiplication
alsoKnownAs PCLMULQDQ NERFINISHED
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 NERFINISHED
cpuidLeaf CPUID leaf 1 ECX bit 1
definedIn AMD64 Architecture Programmer’s Manual NERFINISHED
Intel 64 and IA-32 Architectures Software Developer’s Manual NERFINISHED
extensionOf SSE instruction set
featureFlag PCLMULQDQ CPUID feature bit
fullName Carry-Less Multiplication instruction set NERFINISHED
hasVariant VPCLMULQDQ
improvesPerformanceFor AES-GCM implementations
CRC32C computation
Reed-Solomon style codes over GF(2^k)
instructionForm PCLMULQDQ xmm, xmm/m128, imm8
introducedBy Intel NERFINISHED
introducedWithMicroarchitecture Intel Westmere NERFINISHED
introducedYear 2008
opcodeName PCLMULQDQ NERFINISHED
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 NERFINISHED
Intel NERFINISHED
VIA NERFINISHED
supportsImmediateControl 8-bit immediate selects source 64-bit halves
targetArchitecture x86
x86-64
usedByLibrary BoringSSL NERFINISHED
OpenSSL NERFINISHED
usedByLibrary Linux kernel crypto API NERFINISHED
cryptography libraries implementing AES-GCM
usedIn CRC computation
GHASH NERFINISHED
Galois/Counter Mode (GCM) NERFINISHED
cryptography
error-correcting codes
message authentication codes

Referenced by (3)

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

B (bit-manipulation extension) hasSubextension CLMUL
this entity surface form: Zbc (carry-less multiplication)
Goldmont Plus supports CLMUL
Tremont supports CLMUL