Section courante

A propos

Section administrative du site

Assembleur 80x86

VMASKMOVPS

AVX (AMD ou INTEL) Vector Mask Move Packed Single precision

Syntaxe

VMASKMOVPS destination, source1, source2

Description

Cette instruction permet d'effectuer un chargement conditionnel des valeurs réels de simple précision de paquets d'une opérande de 128 ou 256 bits avec le masque d'opérande et entrepose le résultat dans l'opérande de destination.

Algorithme

SI charge 256 bits ALORS
   SI source1(31) ALORS
       destination(31..0) ← Load_32(mem)
   SINON
       destination(31..0) ← 0
   FIN SI
   SI source1(63) ALORS
      destination(63..32) ← Load_32(mem + 4)
   SINON
      destination(63..32) ← 0
   FIN SI
   SI source1(95) ALORS
      destination(95..64) ← Load_32(mem + 8)
   SINON
      destination(95..64) ← 0
   FIN SI
   SI source1(127) ALORS
      destination(127..96) ← Load_32(mem + 12)
   SINON
      destination(127..96) ← 0
   FIN SI
   SI source1(159) ALORS
      destination(159..128) ← Load_32(mem + 16)
   SINON
      destination(159..128) ← 0
   FIN SI
   SI source1(191) ALORS
      destination(191..160) ← Load_32(mem + 20)
   SINON
      destination(191..160) ← 0
   FIN SI
   SI source1(223) ALORS
      destination(223..192) ← Load_32(mem + 24)
   SINON
      destination(223..192) ← 0
   FIN SI
   SI source1(255) ALORS
      destination(255..224) ← Load_32(mem + 28)
   SINON
      destination(255..224) ← 0
   FIN SI
   SINON SI charge 128 bits ALORS
   SI source1(31) ALORS
      destination(31..0) ← Load_32(mem)
   SINON
      destination(31..0) ← 0
   FIN SI
   SI source1(63) ALORS
      destination(63..32) ← Load_32(mem + 4)
   SINON
      destination(63..32) ← 0
   FIN SI
   SI source1(95) ALORS
      destination(95..64) ← Load_32(mem + 8)
   SINON
      destination(95..64) ← 0
   FIN SI
      destination(127..97) ←
   SI source1(127) ALORS
      destination(95..64) ← Load_32(mem + 12)
   SINON
      destination(95..64) ← 0
   FIN SI
      destination(255..128) ← 0
   FIN SI
SI entrepose 256 bits ALORS
   SI source1(31) ALORS
      destination(31..0) ← source2(31..0)
   FIN SI
   SI source1(63) ALORS
      destination(63..32) ← source2(63..32)
   FIN SI
   SI source1(95) ALORS
      destination(95..64) ← source2(95..64)
   FIN SI
   SI source1(127) ALORS
      destination(127..96) ← source2(127..96)
   FIN SI
   SI source1(159) ALORS
      destination(159..128) ← source2(159..128)
   FIN SI
   SI source1(191) ALORS
      destination(191..160) ← source2(191..160)
   FIN SI
   SI source1(223) ALORS
      destination(223..192) ← source2(223..192)
   FIN SI
   SI source1(255) ALORS
      destination(255..224) ← source2(255..224)
   FIN SI
SINON SI entrepose 128 bits ALORS
   SI source1(31) ALORS
      destination(31..0) ← source2(31..0)
   FIN SI
   SI source1(63) ALORS
      destination(63..32) ← source2(63..32)
   FIN SI
   SI source1(95) ALORS
      destination(95..64) ← source2(95..64)
   FIN SI
   SI source1(127) ALORS
      destination(127..96) ← source2(127..96)
FIN SI

Mnémonique

Instruction Opcode Description
VMASKMOVPS xmm1,xmm2, m128 (VEX.NDS.128) 66h 0Fh 38h 2Ch /r Cette instruction permet d'effectuer un chargement conditionnel des valeurs réels de simple précision de paquets d'une opérande de 128 ou 256 bits avec le masque d'opérande et entrepose le résultat dans l'opérande de destination.
VMASKMOVPS ymm1,ymm2, m256 (VEX.NDS.256) 66h 0Fh 38h 2Ch /r Cette instruction permet d'effectuer un chargement conditionnel des valeurs réels de simple précision de paquets d'une opérande de 128 ou 256 bits avec le masque d'opérande et entrepose le résultat dans l'opérande de destination.
VMASKMOVPS m128,xmm1, xmm2 (VEX.NDS.128) 66h 0Fh 38h 2Eh /r Cette instruction permet d'effectuer un chargement conditionnel des valeurs réels de simple précision de paquets d'une opérande de 128 ou 256 bits avec le masque d'opérande et entrepose le résultat dans l'opérande de destination.
VMASKMOVPS m256,ymm1, ymm2 (VEX.NDS.256) 66h 0Fh 38h 2Eh /r Cette instruction permet d'effectuer un chargement conditionnel des valeurs réels de simple précision de paquets d'une opérande de 128 ou 256 bits avec le masque d'opérande et entrepose le résultat dans l'opérande de destination.


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