Section courante

A propos

Section administrative du site

Assembleur 80x86

VPERMILPD

AVX (AMD ou INTEL) Vector Permute Double-Precision Floating-Point Values

Syntaxe

VPERMILPD destination, source1, source2

Description

Cette instruction permet d'effectuer la permutation de valeurs réels de double précision d'un premier opérande source utilisant un champ de 8 bits de contrôle dans les octets bas d'un second opérande source et entrepose les résultats dans l'opérande de destination.

Algorithme

SI version 256 bits immédiate ALORS
   SI imm8(0) = 0 ALORS
      destination(63..0) ← source1(63..0)
   FIN SI
   SI imm8(0) = 1 ALORS
      destination(63..0) ← source1(127..64)
   FIN SI
   SI imm8(1) = 0 ALORS
      destination(127..64) ← source1(63..0)
   FIN SI
   SI imm8(1) = 1 ALORS
      destination(127..64) ← source1(127..64)
   FIN SI
   SI imm8(2) = 0 ALORS
      destination(191..128) ← source1(191..128)
   FIN SI
   SI imm8(2) = 1 ALORS
      destination(191..128) ← source1(255..192)
   FIN SI
   SI imm8(3) = 0 ALORS
      destination(255..192) ← source1(191..128)
   FIN SI
   SI imm8(3) = 1 ALORS
      destination(255..192) ← source1(255..192)
   FIN SI
SINON SI version 128 bits variable ALORS
   SI imm8(0) = 0 ALORS
      destination(63..0) ← source1(63..0)
   FIN SI
   SI imm8(0) = 1 ALORS
      destination(63..0) ← source1(127..64)
   FIN SI
   SI imm8(1) = 0 ALORS
      destination(127..64) ← source1(63..0)
   FIN SI
   SI imm8(1) = 1 ALORS
      destination(127..64) ← source1(127..64)
   FIN SI
   destination(255..128) ← 0
SINON SI version 256 bits variable ALORS
   SI source2(1) = 0 ALORS
      destination(63..0) ← source1(63..0)
   FIN SI
   SI source2(1) = 1 ALORS
      destination(63..0) ← source1(127..64)
   FIN SI
   SI source2(65) = 0 ALORS
      destination(127..64) ← source1(63..0)
   FIN SI
   SI source2(65) = 1 ALORS
      destination(127..64) ← source1(127..64)
   FIN SI
   SI source2(129) = 0 ALORS
      destination(191..128) ← source1(191..128)
   FIN SI
   SI source2(129) = 1 ALORS
      destination(191..128) ← source1(255..192)
   FIN SI
   SI source2(193) = 0 ALORS
      destination(255..192) ← source1(191..128)
   FIN SI
   SI source2(193) = 1 ALORS
      destination(255..192) ← source1(255..192)
   FIN SI
SINON SI version 128 bits immédiate ALORS
   SI source2(1) = 0 ALORS
      destination(63..0) ← source1(63..0)
   FIN SI
   SI source2(1) = 1 ALORS
      destination(63..0) ← source1(127..64)
   FIN SI
   SI source2(65) = 0 ALORS
      destination(127..64) ← source1(63..0)
   FIN SI
   SI source2(65) = 1 ALORS
      destination(127..64) ← source1(127..64)
   FIN SI
   destination(255..128) ← 0
FIN SI

Mnémonique

Instruction Opcode Description
VPERMILPD xmm1, xmm2,xmm3/m128 (VEX.NDS.128) 66h 0Fh 38h 0Dh /r Cette instruction permet d'effectuer la permutation de valeurs réels de double précision d'un premier opérande source utilisant un champ de 8 bits de contrôle dans les octets bas d'un second opérande source et entrepose les résultats dans l'opérande de destination.
VPERMILPD ymm1, ymm2,ymm3/m256 (VEX.NDS.256) 66h 0Fh 38h 0Dh /r Cette instruction permet d'effectuer la permutation de valeurs réels de double précision d'un premier opérande source utilisant un champ de 8 bits de contrôle dans les octets bas d'un second opérande source et entrepose les résultats dans l'opérande de destination.
VPERMILPD xmm1,xmm2/m128, imm8 (VEX.128) 66h 0Fh 3Ah 05h /r ib Cette instruction permet d'effectuer la permutation de valeurs réels de double précision d'un premier opérande source utilisant un champ de 8 bits de contrôle dans les octets bas d'un second opérande source et entrepose les résultats dans l'opérande de destination.
VPERMILPD ymm1,ymm2/m256, imm8 (VEX.256) 66h 0Fh 3Ah 05h /r ib Cette instruction permet d'effectuer la permutation de valeurs réels de double précision d'un premier opérande source utilisant un champ de 8 bits de contrôle dans les octets bas d'un second opérande source et entrepose les résultats dans l'opérande de destination.


Dernière mise à jour : Samedi, le 2 août 2014