MOVLHPS

Mover valores en coma flotante de precisión simple empaquetados Bajo a Alto

estableVMJITAOTinstruccion

Codificaciones

OpcodeInstruccionOp/En64 bitsCompat/LegacyDescripcion
NP 0F 16 /rMOVLHPS xmm1, xmm2RMValidoValidoMueva dos valores en coma flotante de precisión simple empaquetados de bajo cuádpago de xmm2 a alta cuádpalabra de xmm1.
VEX.128.0F.WIG 16 /rVMOVLHPS xmm1, xmm2, xmm3RVMValidoValidoCombina dos valores en coma flotante de precisión simple empaquetados a partir de cuádpago bajo de xmm3 y cuádpago bajo de xmm2.
EVEX.128.0F.W0 16 /rVMOVLHPS xmm1, xmm2, xmm3 Op/En Oper RM ModR RVM ModRRVMValidoValido2.valores en coma flotante de precisión simple empaquetadosInstrucción OAVX10.1 operandoCodificación1 desde el bajo cuadword dexmm3y bajo quadword dexmm2. y 1operando 2 operando 3 operando4 M:reg (w) ModRM:r/m (r) N/A N/A M:reg (w)VEX.vvvv (r) / EVEX.vvvvr) ModRM:r/m (r) N/A

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.

RM

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

RVM

  1. modrm.reg escriturabyte ModRM, campo reg (bits 5-3)
  2. VEX.vvvv (r) /
  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

Esta instrucción no se puede utilizar para la memoria para registrar movimientos.

Forma de 128 bits de dos brazos:

Mueva dos valores en coma flotante de precisión simple empaquetados del bajo cuádpo del segundo argumento XMM (segundo operando) al alto cuádpo del primer registro XMM (primer argumento). El bajo cuádpo del operando de destino se deja sin cambios. Los bits (MAXVL-1:128) del registro de destino correspondiente son sin modificar.

128-bit tres-argument forms:

Mueva dos valores en coma flotante de precisión simple empaquetados del bajo cuádpago del tercer argumento XMM (tercer operando) al alto cuádpago del destino (primer operando). Copia el bajo cuádpago del segundo argumento XMM (segundo operando) al bajo cuádpago del destino (primer operando). Bits (MAXVL-1:128) del registro de destino correspondiente se ponen a cero.

Si VMOVLHPS está codificado con VEX.L o EVEX.L'L= 1, un intento de ejecutar la instrucción codificada con VEX.L o EVEX.L'L= 1 causará una excepción #UD.

Operación

MOVLHPS (128-bit Two-Argument Form)
DEST[63:0] (Unmodified)
DEST[127:64] := SRC[63:0]
DEST[MAXVL-1:128] (Unmodified)

VMOVLHPS (128-bit Three-Argument Form - VEX & EVEX)
DEST[63:0] := SRC1[63:0]
DEST[127:64] := SRC2[63:0]
DEST[MAXVL-1:128] := 0

Intel C/C++ compilador intrínseco

MOVLHPS __m128 _mm_movelh_ps(__m128 a, __m128 b);

SIMD coma flotante Excepciones

None.

  1. ModRM.MOD = 011B required

Otras excepciones

Instrucciones no codificadas en EVEX, ver Tabla 2-24, "Tipo 7 Condiciones de Excepción," adicionalmente:

#UD               If VEX.L = 1.

EVEX-encoded instruction, ver Excepciones Tipo E7NM.128 en la tabla 2-57, "Tipo E7NM Clase Condiciones de Excepción."

Fuentes