Assembleur 80x86 | VPERMILPS |
---|---|
AVX (AMD ou INTEL) | Vector Permute Single-Precision Floating-Point Values |
Syntaxe
VPERMILPS destination, source1, source2 |
Description
Cette instruction permet d'effectuer la permutation de valeurs réels de simple 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
MODULE Select4(SRC, control) EVALUER CAS control(1..0) CAS 0: TMP ← SRC(31..0) CAS 1: TMP ← SRC(63..32) CAS 2: TMP ← SRC(95..64) CAS 3: TMP ← SRC(127..96) FIN EVALUER CAS RETOURNER TMP SI version immediate 256 bits ALORS destination(31..0) ← Select4(source1(127..0), imm8(1..0)) destination(63..32) ← Select4(source1(127..0), imm8(3..2)) destination(95..64) ← Select4(source1(127..0), imm8(5..4)) destination(127..96) ← Select4(source1(127..0), imm8(7..6)) destination(159..128) ← Select4(source1(255..128), imm8(1..0)) destination(191..160) ← Select4(source1(255..128), imm8(3..2)) destination(223..192) ← Select4(source1(255..128), imm8(5..4)) destination(255..224) ← Select4(source1(255..128), imm8(7..6)) SINON SI version immediate 128 bits ALORS destination(31..0) ← Select4(source1(127..0), imm8(1..0)) destination(63..32) ← Select4(source1(127..0), imm8(3..2)) destination(95..64) ← Select4(source1(127..0), imm8(5..4)) destination(127..96) ← Select4(source1(127..0), imm8(7..6)) destination(255..128) ← 0 SINON SI version variable 256 bits ALORS destination(31..0) ← Select4(source1(127..0), source2(1..0)) destination(63..32) ← Select4(source1(127..0), source2(33..32)) destination(95..64) ← Select4(source1(127..0), source2(65..64)) destination(127..96) ← Select4(source1(127..0), source2(97..96)) destination(159..128) ← Select4(source1(255..128), source2(129..128)) destination(191..160) ← Select4(source1(255..128), source2(161..160)) destination(223..192) ← Select4(source1(255..128), source2(193..192)) destination(255..224) ← Select4(source1(255..128), source2(225..224)) SINON SI version variable 128 bits ALORS destination(31..0) ← Select4(source1(127..0), source2(1..0)) destination(63..32) ← Select4(source1(127..0), source2(33..32)) destination(95..64) ← Select4(source1(127..0), source2(65..64)) destination(127..96) ← Select4(source1(127..0), source2(97..96)) destination(255..128) ← 0 FIN SI |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
VPERMILPS xmm1, xmm2,xmm3/m128 | (VEX.NDS.128) 66h 0Fh 38h 0Ch /r | Cette instruction permet d'effectuer la permutation de valeurs réels de simple 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. |
VPERMILPS xmm1,xmm2/m128, imm8 | (VEX.128) 66h 0Fh 3Ah 04h /r ib | Cette instruction permet d'effectuer la permutation de valeurs réels de simple 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. |
VPERMILPS ymm1, ymm2,ymm3/m256 | (VEX.NDS.256) 66h 0Fh 38h 0Ch /r | Cette instruction permet d'effectuer la permutation de valeurs réels de simple 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. |
VPERMILPS ymm1,ymm2/m256, imm8 | (VEX.256) 66h 0Fh 3Ah 04h /r ib | Cette instruction permet d'effectuer la permutation de valeurs réels de simple 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