- CLMUL instruction set
-
Carry-less Multiplication (CLMUL) is an extension to the x86 instruction set used by microprocessors from Intel and AMD which was proposed by Intel in March 2008[1] and made available in the Intel Westmere processors announced in early 2010. The purpose is to improve the speed of applications doing block cipher encryption in Galois/Counter Mode, which depends on finite field multiplication. Finite field (GF(2k)) multiplication can be implemented more efficiently[2] with the new CLMUL instructions than with the traditional instruction set[3]
Contents
New instructions
Instruction Description PCLMULQDQ Performs a carry-less multiplication of two 64-bit integers PCLMULLQLQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 00] PCLMULHQLQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 01] PCLMULLQHQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 02] PCLMULHQHQDQ xmmreg,xmmrm [rm: 66 0f 3a 44 /r 03] PCLMULQDQ xmmreg,xmmrm,imm [rmi: 66 0f 3a 44 /r ib]
CPUs with CLMUL instruction set
See also
- Finite field arithmetic
- AES instruction set
- FMA3 instruction set
- FMA4 instruction set
- AVX instruction set
- X86
References
- ^ "Intel Software Network". Intel. http://softwareprojects.intel.com/avx/. Retrieved 2008-04-05.
- ^ "Intel Carry-Less Multiplication Instruction and its Usage for Computing the GCM Mode - Rev 2". http://software.intel.com/en-us/articles/intel-carry-less-multiplication-instruction-and-its-usage-for-computing-the-gcm-mode/.
- ^ Detailed description of instructions on Intel website
- ^ Dave Christie (May 6, 2009). "Striking a balance". AMD Developer blogs. http://blogs.amd.com/developer/2009/05/06/striking-a-balance/. Retrieved 2011-03-11.
Categories:- X86 architecture
- X86 instructions
Wikimedia Foundation. 2010.