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