PINSRW
Insertar Word
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
NP 0F C4 /r ib1 | PINSRW mm, r32/m16, imm8 | A | Valido | Valido | Insertar la palabra baja de r3 o de m16 a mm en la posición de la palabra especificada por imm8. |
66 0F C4 /r ib | PINSRW xmm, r32/m16, imm8 | A | Valido | Valido | Mueva la palabra baja de r3 o de m16 a xmm en la posición de la palabra especificada por imm8. |
VEX.128.66.0F.W0 C4 /r ib | VPINSRW xmm1, xmm2, r32/m16, imm8 | B | v2 | Valido | Insertar la palabra de r32/m16 en el offset indicado por imm8 en el valor de xmm2 y el resultado de la tienda en xmm1. |
EVEX.128.66.0F.WIG C4 /r ib | VPINSRW xmm1, xmm2, r32/m16, imm8 | C | Valido | Valido | Insertar la palabra de r32/m16 en el AVX10.1 offset indicado por imm8 en el valor de xmm2 y el resultado de la tienda en xmm1. |
Codificacion de operandos
Cada modo es un valor de la columna Op/En de arriba. Dice en que campo de la instruccion codificada va cada operando, en el orden en que se escriben, y si la instruccion lo lee, lo escribe o ambas cosas.
A
modrm.regescriturabyte ModRM, campo reg (bits 5-3)modrm.rmlecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pideimm8byte inmediato que sigue a la instruccion
B
modrm.regescriturabyte ModRM, campo reg (bits 5-3)vex.vvvvlecturaprefijo VEX, campo vvvv (invertido)modrm.rmlecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pideimm8byte inmediato que sigue a la instruccion
C
modrm.regescriturabyte ModRM, campo reg (bits 5-3)evex.vvvvlecturaprefijo EVEX, campo vvvv (invertido)modrm.rmlecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pideimm8byte inmediato que sigue a la instruccion
Tupla: Tuple1 Scalar
Coste medido
Cargando las mediciones de arch-data...
Descripción
Tres instrucciones operando MMX y SSE:
Copia una palabra del operando de origen e inserta en el operando de destino en el lugar especificado con el conteo operando. (Las otras palabras en el registro de destino se quedan sin tocar.) el operando de origen puede ser un registro de proposito general o una ubicación de memoria de 16 bits. (Cuando el operando de origen es un registro de proposito general, se copia la palabra baja del registro.) el operando de destino puede ser un registro de tecnología MMX o un registro XMM. El conteo operando es un inmediato de 8 bits. Al especificar una ubicación de palabras en un registro de tecnología MMX, los 2 bits menos significativos del recuento operando especifican la ubicación; para un registro XMM, los 3 bits menos significativos especifican la ubicación.
Bits (MAXVL-1:128) del correspondiente registro de destino YMM no se modifican.
Cuatro instrucciones operando AVX y AVX-512:
Combina una palabra del primer operando de origen con el segundo operando de origen, e inserta en el operando de destino en la ubicación especificada con el conteo operando. El segundo operando de origen puede ser un registro de proposito general o una ubicación de memoria de 16 bits. (Cuando el operando de origen es un registro de proposito general, se copia la palabra baja del registro.) La primera fuente y operandos de destino son los registros XMM. El conteo operando es un inmediato de 8 bits. Al especificar una ubicación de la palabra, los 3 bits menos significativos especifican la ubicación.
Bits (MAXVL-1:128) del destino YMM registro se ponen a cero. VEX.L/EVEX.L'L debe ser 0, de lo contrario la instrucción será #UD.
Operación
PINSRW dest, src, imm8 (MMX)
SEL := imm8[1:0]
DEST.word[SEL] := src.word[0]
PINSRW dest, src, imm8 (SSE)
SEL := imm8[2:0]
DEST.word[SEL] := src.word[0]
VPINSRW dest, src1, src2, imm8 (AVX/AVX512)
SEL := imm8[2:0]
DEST := src1
DEST.word[SEL] := src2.word[0]
DEST[MAXVL-1:128] := 0Intel C/C++ compilador intrínseco
PINSRW __m64 _mm_insert_pi16 (__m64 a, int d, int n) PINSRW __m128i _mm_insert_epi16 ( __m128i a, int b, int imm);Banderas afectadas
None.
Excepciones numéricas
None.
Otras excepciones
Instrucciones codificadas por EVEX, ver Tabla 2-22, "Tipo 5 Condiciones de Excepción".
Instrucciones codificadas por EVEX, ver Tabla 2-59, "Tipo E9NF Clase Condiciones de Excepción."
Additionally:
#UD If VEX.L = 1 or EVEX.L'L > 0.