KORW, KORB, KORQ, KORD

Máscaras lógicas o

estableVMJITAOTinstruccion

Codificaciones

OpcodeInstruccionOp/En64 bitsCompat/LegacyDescripcion
VEX.L1.0F.W0 45 /rKORW k1, k2, k3RVRValidoValidoBitwise OR 16 bits máscaras k2 y k3 y resultado del lugar en k1. OR AVX10.1
VEX.L1.66.0F.W0 45 /rKORB k1, k2, k3RVRValidoValidoBitwise OR 8 bits máscaras k2 y k3 y resultado del lugar en k1. OR AVX10.1
VEX.L1.0F.W1 45 /rKORQ k1, k2, k3RVRValidoValidoBitwise OR 64 bits máscaras k2 y k3 y resultado del lugar en k1. OR AVX10.1
VEX.L1.66.0F.W1 45 /rKORD k1, k2, k3RVRValidoValidoBitwise OR 32 bits máscaras k2 y k3 y resultado de lugar 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.

RVR

  1. modrm.reg escriturabyte ModRM, campo reg (bits 5-3)
  2. vex.vvvv lecturaprefijo VEX, campo vvvv (invertido)
  3. modrm.rm lecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pide

Coste medido

Cargando las mediciones de arch-data...

Descripción

Realiza un bitwise OR entre la máscara vectorial k2 y la máscara vectorial k3, y escribe el resultado en máscara vectorial k1 (forma de tres-operando).

Operación

KORW
DEST[15:0] := SRC1[15:0] BITWISE OR SRC2[15:0]
DEST[MAX_KL-1:16] := 0

KORB
DEST[7:0] := SRC1[7:0] BITWISE OR SRC2[7:0]
DEST[MAX_KL-1:8] := 0

KORQ
DEST[63:0] := SRC1[63:0] BITWISE OR SRC2[63:0]
DEST[MAX_KL-1:64] := 0

KORD
DEST[31:0] := SRC1[31:0] BITWISE OR SRC2[31:0]
DEST[MAX_KL-1:32] := 0

Intel C/C++ compilador intrínseco

KORW __mmask16 _mm512_kor(__mmask16 a, __mmask16 b);

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)."

Fuentes