MOVHLPS
Mover valores en coma flotante de precisión simple empaquetados Alto a Bajo
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
NP 0F 12 /r | MOVHLPS xmm1, xmm2 | RM | Valido | Valido | Mueva dos valores en coma flotante de precisión simple empaquetados de alta cuádpalabra de xmm2 a baja cuádpalabra de xmm1. |
VEX.128.0F.WIG 12 /r | VMOVHLPS xmm1, xmm2, xmm3 | RVM | Valido | Valido | Combina dos valores en coma flotante de precisión simple empaquetados de alta cuádpalabra de xmm3 y baja cuádpalabra de xmm2. |
EVEX.128.0F.W0 12 /r | VMOVHLPS xmm1, xmm2, xmm3 Op/En Oper RM ModRM RVM ModRM | RVM | Valido | Valido | 2.valores en coma flotante de precisión simple empaquetadosInstrucción OAVX10.1 operandoCodificación1 de alta cuadrículaxmm3y bajo quadword dexmm2. y 1operando 2 operando 3 operando4 :reg (w) Mo dRM:r/m (r) N/A N/A :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
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 pide
RVM
modrm.regescriturabyte ModRM, campo reg (bits 5-3)VEX.vvvv (r) /modrm.rmlecturabyte 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 alto cuádpago del segundo argumento XMM (segundo operando) al bajo cuádpago del primer registro XMM (primer argumento). El quadword en bits 127:64 del operando de destino se deja sin cambios. Bits (MAXVL-1:128) del registro de destino correspondiente no se modifican.
128-bit y EVEX forma de tres brazos:
Mueva dos valores en coma flotante de precisión simple empaquetados del alto cuádpago del tercer argumento XMM (tercer operando) al bajo cuádpago del destino (primer operando). Copie el alto cuadword del segundo argumento XMM (segundo operando) al alto cuadword del destino (primer operando). Bits (MAXVL-1:128) del registro de destino correspondiente se ponen a cero.
Si VMOVHLPS 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
MOVHLPS (128-bit Two-Argument Form)
DEST[63:0] := SRC[127:64]
DEST[MAXVL-1:64] (Unmodified)
VMOVHLPS (128-bit Three-Argument Form - VEX & EVEX)
DEST[63:0] := SRC2[127:64]
DEST[127:64] := SRC1[127:64]
DEST[MAXVL-1:128] := 0Intel C/C++ compilador intrínseco
MOVHLPS __m128 _mm_movehl_ps(__m128 a, __m128 b);SIMD coma flotante Excepciones
None.
- 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."