Assembleur 80x86 | PCLMULQDQ |
---|---|
INTEL AES+, SSE4.2 | Carry-Less Multiplication Quadword |
Syntaxe
PCLMULQDQ dest,source,immediat |
Description
Cette instruction permet d'effectuer une multiplication de quadruple mots avec une retenue en sélectionnant l'opérande destination et source et une valeur immédiate pour sélectionner les critères.
Algorithme
SI immediat[0] = 0 ALORS TEMP1 ← dest(63..0) SINON TEMP1 ← dest(127..64) FIN SI SI immediat(4) = 0 ALORS TEMP2 ← source (63..0) SINON TEMP2 ← source (127..64) FIN SI BOUCLE POUR i ← 0 JUSQU'A 63 SAUT 1 TmpB(i) ← (TEMP1(0) ∩ TEMP2(i)) BOUCLE POUR j ← 1 JUSQU'A i SAUT 1 TmpB(i) ← TmpB(i) XOR (TEMP1(j) ∩ TEMP2(i - j)) FIN BOUCLE POUR dest(i) ← TmpB(i) FIN BOUCLE POUR BOUCLE POUR i ← 64 JUSQU'A 126 SAUT 1 TmpB(i) ← 0; BOUCLE POUR j ← i - 63 JUSQU'A 63 SAUT 1 TmpB(i) ← TmpB(i) XOR (TEMP1(j) ∩ TEMP2(i - j)) FIN BOUCLE POUR dest(i) ← TmpB(i) FIN BOUCLE POUR dest(127) ← 0 |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
PCLMULQDQ xmm1,xmm2/m128,imm8 | 66h 0Fh 3Ah 44h /r ib | Cette instruction permet d'effectuer une multiplication de quadruple mots avec une retenue en sélectionnant l'opérande destination et source et une valeur immédiate pour sélectionner les critères. |
Références
Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z, Edition Intel, Mars 2010, Publication No. 253667-034US, page 86 à 89.
Dernière mise à jour : Samedi, le 20 septembre 2014