KSHIFTRW, KSHIFTRB, KSHIFTRQ, KSHIFTRD
Registros de máscaras de derechas
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
VEX.L0.66.0F3A.W1 30 /r | KSHIFTRW k1, k2, imm8 | RRI | Valido | Valido | Cambio derecho 16 bits en k2 por resultado inmediato y escriba en k1. OR AVX10.1 |
VEX.L0.66.0F3A.W0 30 /r | KSHIFTRB k1, k2, imm8 | RRI | Valido | Valido | Shift right 8 bits en k2 por resultado inmediato y escribir en k1. OR AVX10.1 |
VEX.L0.66.0F3A.W1 31 /r | KSHIFTRQ k1, k2, imm8 | RRI | Valido | Valido | Shift right 64 bits en k2 por resultado inmediato y escribir en k1. OR AVX10.1 |
VEX.L0.66.0F3A.W0 31 /r | KSHIFTRD k1, k2, imm8 | RRI | Valido | Valido | Shift right 32 bits en k2 por resultado inmediato y escribir 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) derecho por el conteo especificado en inmediata 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
KSHIFTRW
COUNT := imm8[7:0]
DEST[MAX_KL-1:0] := 0
IF COUNT <=15
THEN DEST[15:0] := SRC1[15:0] >> COUNT;
FI;
KSHIFTRB
COUNT := imm8[7:0]
DEST[MAX_KL-1:0] := 0
IF COUNT <=7
THEN DEST[7:0] := SRC1[7:0] >> COUNT;
FI;
KSHIFTRQ
COUNT := imm8[7:0]
DEST[MAX_KL-1:0] := 0
IF COUNT <=63
THEN DEST[63:0] := SRC1[63:0] >> COUNT;
FI;
KSHIFTRD
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)."