CLMUL instruction set: Difference between revisions
Appearance
Content deleted Content added
→CPUs with CLMUL instruction set: westmere is now present - changed date |
|||
Line 1: | Line 1: | ||
'''Carry-less Multiplication''' (CLMUL) is |
'''Carry-less Multiplication''' (CLMUL) is an extension to the [[x86]] instruction set used by [[microprocessor|microprocessors]] from [[Intel Corporation|Intel]] and [[Advanced Micro Devices|AMD]] which was proposed by Intel in March 2008<ref>{{cite web | url=http://softwareprojects.intel.com/avx/ | title=Intel Software Network | publisher=Intel | accessdate=2008-04-05}}</ref> and made available in the [[Intel Westmere (microarchitecture)|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(2<sup>k</sup>)) multiplication can be implemented more efficiently with the new CLMUL instructions than with the traditional instruction set.<ref>{{cite web|url=http://software.intel.com/en-us/articles/intel-carry-less-multiplication-instruction-and-its-usage-for-computing-the-gcm-mode/|title=Intel Carry-Less Multiplication Instruction and its Usage for Computing the GCM Mode - Rev 2}}</ref> |
||
==New instructions== |
==New instructions== |
Revision as of 14:46, 27 April 2010
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 with the new CLMUL instructions than with the traditional instruction set.[2]
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. Retrieved 2008-04-05.
- ^ "Intel Carry-Less Multiplication Instruction and its Usage for Computing the GCM Mode - Rev 2".
- ^ "Striking a balance". Dave Christie, AMD Developer blogs. May 7, 2009. Retrieved 2009-05-08.