KSHIFTLW, KSHIFTLB, KSHIFTLQ, KSHIFTLD
Registros de Máscara Izquierda
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
VEX.L0.66.0F3A.W1 32 /r | KSHIFTLW k1, k2, imm8 | RRI | Valido | Valido | Cambio izquierda 16 bits en k2 por resultado inmediato y escribe en k1. OR AVX10.1 |
VEX.L0.66.0F3A.W0 32 /r | KSHIFTLB k1, k2, imm8 | RRI | Valido | Valido | Cambio izquierda 8 bits en k2 por resultado inmediato y escribe en k1. OR AVX10.1 |
VEX.L0.66.0F3A.W1 33 /r | KSHIFTLQ k1, k2, imm8 | RRI | Valido | Valido | Cambio izquierda 64 bits en k2 por resultado inmediato y escribir en k1. OR AVX10.1 |
VEX.L0.66.0F3A.W0 33 /r | KSHIFTLD k1, k2, imm8 | RRI | Valido | Valido | Shift dejó 32 bits en k2 por resultado inmediato y escribe en k1. OR AVX10.1 |
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.
RRI
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
Coste medido
Cargando las mediciones de arch-data...
Descripción
Cambios 8/16/32/64 bits en el segundo operand (source operand) dejado por el conteo especificado en byte inmediato y coloque los menos significativos 8/16/32/64 bits del resultado en el operado de destino. Los bits más altos del destino son cero-extended. El destino está fijado a cero si el valor de cuenta es mayor que 7 (para el cambio de byte), 15 (para el cambio de palabra), 31 (para el cambio de doble palabra) o 63 (para el cambio de cuadrilátero).
Operación
KSHIFTLW
COUNT := imm8[7:0]
DEST[MAX_KL-1:0] := 0
IF COUNT <=15
THEN DEST[15:0] := SRC1[15:0] << COUNT;
FI;
KSHIFTLB
COUNT := imm8[7:0]
DEST[MAX_KL-1:0] := 0
IF COUNT <=7
THEN DEST[7:0] := SRC1[7:0] << COUNT;
FI;
KSHIFTLQ
COUNT := imm8[7:0]
DEST[MAX_KL-1:0] := 0
IF COUNT <=63
THEN DEST[63:0] := SRC1[63:0] << COUNT;
FI;
KSHIFTLD
COUNT := imm8[7:0]
DEST[MAX_KL-1:0] := 0
IF COUNT <=31
THEN DEST[31:0] := SRC1[31:0] << COUNT;
FI;Banderas afectadas
None.
SIMD coma flotante Excepciones
None.
Otras excepciones
Ver Tabla 2-65, "TYPE K20 Excepción Definición (VEX-Encoded OpMask Instrucciones w/o Memoria Arg)."