MOVLPS

Mover bajo valores en coma flotante de precisión simple empaquetados

estableVMJITAOTinstruccion

Codificaciones

OpcodeInstruccionOp/En64 bitsCompat/LegacyDescripcion
NP 0F 12 /rMOVLPS xmm1, m64AValidoValidoMueva dos valores en coma flotante de precisión simple empaquetados de m64 a cuádpago bajo de xmm1.
VEX.128.0F.WIG 12 /rVMOVLPS xmm2, xmm1, m64BValidoValidoCombina dos valores en coma flotante de precisión simple empaquetados de m64 y el cuádpago alto de xmm1.
EVEX.128.0F.W0 12 /rVMOVLPS xmm2, xmm1, m64DValidoValidoCombina dos valores en coma flotante de precisión simple empaquetados OR AVX10.1 de m64 y el cuádpago alto de xmm1.
0F 13/rMOVLPS m64, xmm1CValidoValidoMueva dos valores en coma flotante de precisión simple empaquetados de bajo cuádpo de xmm1 a m64.
VEX.128.0F.WIG 13/rVMOVLPS m64, xmm1CValidoValidoMueva dos valores en coma flotante de precisión simple empaquetados de bajo cuádpo de xmm1 a m64.
EVEX.128.0F.W0 13/rVMOVLPS m64, xmm1EValidoValidoMueva dos valores en coma flotante de precisión simple empaquetados OR AVX10.1 de bajo cuádpo 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

  1. modrm.reg lectura y 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

B

  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

C

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

D

  1. modrm.reg escriturabyte ModRM, campo reg (bits 5-3)
  2. evex.vvvv lecturaprefijo EVEX, 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

Tupla: Tuple2

E

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

Tupla: Tuple2

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:

Mueva dos valores en coma flotante de precisión simple empaquetados de la fuente de 64 bits operando de memoria y los 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 dos valores en coma flotante de precisión simple empaquetados de la fuente 64-bit operando de memoria (el tercer operando), los fusiona con los 64-bits superiores del primer operando de origen (el segundo operando), y los almacena en los 128-bits bajos del registro de destino (el primer operando). Bits (MAXVL-1:128) del registro de destino correspondiente se ponen a cero.

128-bit store:

Carga dos valores en coma flotante de precisión simple empaquetados de los bajos 64 bits de la fuente de registro XMM (segundo operando) a los 64 bits ubicación de memoria (primer operando).

Nota: VMOVLPS (store) (VEX.128.0F 13 /r) es legal y tiene el mismo comportamiento que la tienda 0F 13 existente. Para VMOVLPS (store) VEX.vvvv y EVEX.vvvv están reservados y deben ser 1111b instrucción de otra manera #UD.

Si VMOVLPS 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

MOVLPS (128-bit Legacy SSE Load)
DEST[63:0] := SRC[63:0]
DEST[MAXVL-1:64] (Unmodified)


VMOVLPS (VEX.128 & EVEX Encoded Load)
DEST[63:0] := SRC2[63:0]
DEST[127:64] := SRC1[127:64]
DEST[MAXVL-1:128] := 0

VMOVLPS (Store)
DEST[63:0] := SRC[63:0]

Intel C/C++ compilador intrínseco

MOVLPS __m128 _mm_loadl_pi ( __m128 a, __m64 *p) MOVLPS void _mm_storel_pi (__m64 *p, __m128 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."

Fuentes