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