PSLLDQ
Cambio de doble cuádword izquierda lógica
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
66 0F 73 /7 ib | PSLLDQ xmm1, imm8 | A | Valido | Valido | Shift xmm1 dejado por los bytes imm8 mientras se desplaza en 0s. |
VEX.128.66.0F.WIG 73 /7 ib | VPSLLDQ xmm1, xmm2, imm8 | B | Valido | Valido | Shift xmm2 dejado por los bytes imm8 mientras que el cambio en 0s y el resultado de la tienda en xmm1. |
VEX.256.66.0F.WIG 73 /7 ib | VPSLLDQ ymm1, ymm2, imm8 | B | Valido | Valido | Shift ymm2 dejado por los bytes imm8 mientras que el cambio en 0s y el resultado de la tienda en ymm1. |
EVEX.128.66.0F.WIG 73 /7 ib | VPSLLDQ xmm1,xmm2/ m128, imm8 | C | Valido | Valido | Shift xmm2/m128 dejado por los bytes imm8 mientras AVX512BW) OR AVX10.1 desplazando en 0s y resultado de la tienda en xmm1. |
EVEX.256.66.0F.WIG 73 /7 ib | VPSLLDQ ymm1, ymm2/m256, imm8 | C | Valido | Valido | Shift ymm2/m256 dejado por los bytes imm8 mientras AVX512BW) OR AVX10.1 desplazando en 0s y resultado de la tienda en ymm1. |
EVEX.512.66.0F.WIG 73 /7 ib | VPSLLDQ zmm1, zmm2/m512, imm8 | C | Valido | Valido | Shift zmm2/m512 dejado por los bytes imm8 mientras OR AVX10.1 desplazando en 0s y el resultado de la tienda en zmm1. |
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.rmlectura y escriturabyte 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
vex.vvvvescrituraprefijo 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
evex.vvvvescrituraprefijo 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: Full Mem
Coste medido
Cargando las mediciones de arch-data...
Descripción
Shifts el operando de destino (primer operando) a la izquierda por el número de bytes especificados en el conteo operando (segundo operando). Los bytes vacíos de baja orden se limpian (configurados a todos los 0s). Si el valor especificado por el conteo operando es mayor de 15, el operando de destino se establece a todos los 0s. El conteo operando es un inmediato de 8 bits.
128-bit Legacy SSE versión: La fuente y operandos de destino son los mismos. Bits (MAXVL-1:128) del correspondiente registro de destino YMM no se modifican.
VEX.128 versión codificada: La fuente y operandos de destino son registros XMM. Bits (MAXVL-1:128) del destino YMM registro se ponen a cero.
VEX.256 versión codificada: El operando de origen es el registro YMM. El operando de destino es un registro YMM. Bits (MAXVL-1:256) del registro ZMM correspondiente se ponen a cero. El conteo operando se aplica tanto a las líneas bajas como a las altas de 128 bits.
EVEX versiones codificadas: El operando de origen es un registro ZMM/YMM/XMM o un 512/256/128-bit ubicación de memoria. El operando de destino es un registro ZMM/YMM/XMM. El conteo operando se aplica a cada vía de 128 bits.
Operación
VPSLLDQ (EVEX.U1.512 Encoded Version)
TEMP := COUNT
IF (TEMP > 15) THEN TEMP := 16; FI
DEST[127:0] := SRC[127:0] << (TEMP * 8)
DEST[255:128] := SRC[255:128] << (TEMP * 8)
DEST[383:256] := SRC[383:256] << (TEMP * 8)
DEST[511:384] := SRC[511:384] << (TEMP * 8)
DEST[MAXVL-1:512] := 0
VPSLLDQ (VEX.256 and EVEX.256 Encoded Version)
TEMP := COUNT
IF (TEMP > 15) THEN TEMP := 16; FI
DEST[127:0] := SRC[127:0] << (TEMP * 8)
DEST[255:128] := SRC[255:128] << (TEMP * 8)
DEST[MAXVL-1:256] := 0
VPSLLDQ (VEX.128 and EVEX.128 Encoded Version)
TEMP := COUNT
IF (TEMP > 15) THEN TEMP := 16; FI
DEST := SRC << (TEMP * 8)
DEST[MAXVL-1:128] := 0
PSLLDQ(128-bit Legacy SSE Version)
TEMP := COUNT
IF (TEMP > 15) THEN TEMP := 16; FI
DEST := DEST << (TEMP * 8)
DEST[MAXVL-1:128] (Unmodified)Intel C/C++ compilador intrínseco
(V)PSLLDQ __m128i _mm_slli_si128 ( __m128i a, int imm) VPSLLDQ __m256i _mm256_slli_si256 ( __m256i a, const int imm) VPSLLDQ __m512i _mm512_bslli_epi128 ( __m512i a, const int imm);Banderas afectadas
None.
Excepciones numéricas
None.
Otras excepciones
Instrucciones no codificadas por EVEX, ver Tabla 2-24, "Tipo 7 Condiciones de Excepción de Clase." Instruccion codificada por EVEX, ver Excepciones Tipo E4NF.nb en Tabla 2-52, "Tipo E4NF Condiciones de Excepción de Clase".