Section courante

A propos

Section administrative du site

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