MOVLPD
Move Low Packed valor en coma flotante de precisión doble
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
66 0F 12 /r | MOVLPD xmm1, m64 | A | Valido | Valido | Mover valor en coma flotante de precisión doble de m64 a baja cuádpalabra de xmm1. |
VEX.128.66.0F.WIG 12 /r | VMOVLPD xmm2, xmm1, m64 | B | Valido | Valido | Merge valor en coma flotante de precisión doble de m64 y el cuadword alto de xmm1. |
EVEX.128.66.0F.W1 12 /r | VMOVLPD xmm2, xmm1, m64 | D | Valido | Valido | Merge valor en coma flotante de precisión doble de m64 y OR AVX10.1 el cuaderno alto de xmm1. |
66 0F 13/r | MOVLPD m64, xmm1 | C | Valido | Valido | Mover valor en coma flotante de precisión doble de bajo cuádpo de xmm1 a m64. |
VEX.128.66.0F.WIG 13/r | VMOVLPD m64, xmm1 | C | Valido | Valido | Mover valor en coma flotante de precisión doble de bajo cuádpo de xmm1 a m64. |
EVEX.128.66.0F.W1 13/r | VMOVLPD m64, xmm1 | E | Valido | Valido | Mover valor en coma flotante de precisión doble de bajo OR AVX10.1 quadword de xmm1 a m64. |
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.
A
modrm.reglectura y escriturabyte 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
B
modrm.rmlecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pidevex.vvvvlecturaprefijo VEX, campo vvvv (invertido)modrm.rmlecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pide
C
modrm.rmescriturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pidemodrm.reglecturabyte ModRM, campo reg (bits 5-3)
D
modrm.regescriturabyte ModRM, campo reg (bits 5-3)evex.vvvvlecturaprefijo EVEX, campo vvvv (invertido)modrm.rmlecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pide
Tupla: Tuple1 Scalar
E
modrm.rmescriturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pidemodrm.reglecturabyte ModRM, campo reg (bits 5-3)
Tupla: Tuple1 Scalar
Coste medido
Cargando las mediciones de arch-data...
Descripción
Esta instrucción no se puede utilizar para registrarse o memoria a movimientos de memoria.
Carga Legacy SSE de 128 bits:
Se mueve un valor en coma flotante de precisión doble de la fuente de 64 bits operando de memoria y lo almacena en los 64 bits bajos del registro de destino XMM. Se conservan los 64 bits superiores del registro XMM. Se conservan bits (MAXVL-1:128) del registro de destino correspondiente.
Carga codificada VEX.128 & EVEX:
Carga un valor en coma flotante de precisión doble de la fuente 64-bit operando de memoria (tercer operando), lo fusiona con los 64-bits superiores de la primera fuente XMM registro (segundo operando), y lo almacena en los 128-bits bajos del destino XMM registro (primer operando). Bits (MAXVL-1:128) del registro de destino correspondiente se ponen a cero.
128-bit store:
Almacena un valor en coma flotante de precisión doble desde los 64 bits bajos de la fuente de registro XMM (segundo operando) hasta la ubicación de memoria de 64 bits (primer operando).
Nota: VMOVLPD (store) (VEX.128.66.0F 13 /r) es legal y tiene el mismo comportamiento que la tienda existente 66 0F 13. Para VMOVLPD (store) VEX.vvvv y EVEX.vvvv están reservados y deben ser 1111b instrucción de otra manera #UD.
Si VMOVLPD 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
MOVLPD (128-bit Legacy SSE Load)
DEST[63:0] := SRC[63:0]
DEST[MAXVL-1:64] (Unmodified)
VMOVLPD (VEX.128 & EVEX Encoded Load)
DEST[63:0] := SRC2[63:0]
DEST[127:64] := SRC1[127:64]
DEST[MAXVL-1:128] := 0
VMOVLPD (Store)
DEST[63:0] := SRC[63:0]Intel C/C++ compilador intrínseco
MOVLPD __m128d _mm_loadl_pd ( __m128d a, double *p) MOVLPD void _mm_storel_pd (double *p, __m128d a);SIMD coma flotante Excepciones
None.
Otras excepciones
Instrucciones no codificadas en EVEX, ver Tabla 2-22, "Tipo 5 Condiciones de Excepción," adicionalmente:
#UD If VEX.L = 1.Instrucciones codificadas por EVEX, ver Tabla 2-59, "Tipo E9NF Clase Condiciones de Excepción."