Assembleur 80x86 | INSERTPS |
---|---|
SSE4.1 | Insert Packed Single Precision Floating-Point Value |
Syntaxe
INSERTPS dest,source,immediat |
Description
Cette instruction permet d'insérer une valeur réel de simple précision d'un opérande source dans l'emplacement d'un registre d'opérande de destination et met des 0 dans les données en dehors du masque de destination.
Algorithme
SI source est un registre ALORS COUNT_S ← immediat(7..6) SINON COUNT_S ← 0 FIN SI COUNT_D ← immediat(5..4) ZMASK ← immediat(3..0) EVALUER CAS COUNT_S DE CAS 0: TMP ← source(31..0) CAS 1: TMP ← source(63..32) CAS 2: TMP ← source(95..64) CAS 3: TMP ← source(127..96) FIN EVALUER CAS EVALUER CAS COUNT_D DE CAS 0: TMP2(31..0) ← TMP TMP2(127..32) ← dest(127..32) CAS 1: TMP2(63..32) ← TMP TMP2(31..0) ← dest(31..0) TMP2(127..64) ← dest(127..64) CAS 2: TMP2(95..64) ← TMP TMP2(63..0) ← dest(63..0) TMP2(127..96) ← dest(127..96) CAS 3: TMP2(127..96) ← TMP TMP2(95..0) ← dest(95..0) FIN EVALUER CAS SI ZMASK(0) = 1 ALORS dest(31..0) ← 00000000h SINON dest(31..0) ← TMP2(31..0) SI ZMASK(1) = 1 ALORS dest(63..32) ← 00000000h SINON dest(63..32) ← TMP2(63..32) SI ZMASK[2] = 1 ALORS dest(95..64) ← 00000000h SINON dest(95..64) ← TMP2(95..64) SI ZMASK[3] = 1 ALORS dest(127..96) ← 00000000h SINON dest(127..96) ← TMP2(127..96) FIN SI FIN SI FIN SI FIN SI |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
INSERTPS xmm1,xmm2/m32,imm8 | 66h 0Fh 3Ah 21h /r ib | Cette instruction permet d'insérer une valeur réel de simple précision d'un opérande source dans l'emplacement d'un registre d'opérande de destination et met des 0 dans les données en dehors du masque de destination. |
Références
Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M, Edition Intel, Mars 2010, Publication No. 253666-034US, page 578 à 580.
Dernière mise à jour : Lundi, le 1 septembre 2014