CVTTPS2PI

Convertir Con Truncation valores en coma flotante de precisión simple empaquetados en Packed

estableVMJITAOTinstruccion

Codificaciones

OpcodeInstruccionOp/En64 bitsCompat/LegacyDescripcion
NP 0F 2C /rCVTTPS2PI mm, xmm/m64RMValidoValidoConvertir dos valores en coma flotante de precisión simple de xmm/m64 a dos palabras dobles firmadas enteros con signo en mm utilizando truncation.

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

Coste medido

Cargando las mediciones de arch-data...

Descripción

Convierte dos valores en coma flotante de precisión simple empaquetados en el operando de origen (segundo operando) a dos enteros de doble palabra firmados en el operando de destino (primer operando). El operando de origen puede ser un registro XMM o una ubicación de memoria de 64 bits. El operando de destino es un registro de tecnología MMX. Cuando el operando de origen es un registro XMM, los dos valores en coma flotante de precisión simple están contenidos en el bajo cuadword del registro.

Cuando una conversión es inexacta, un resultado truncado (redondeado hacia cero) es devuelto. Si un resultado convertido es mayor que el entero de doble palabra firmado máximo, la coma flotante excepción de operación no válida se genera, y si esta excepción está enmascarada, el valor entero integer indefinido 80000000H es devuelto.

Esta instrucción causa una transición de la operación de tecnología x87 FPU a MMX (es decir, la palabra x87 FPU top-of-puntero de pila se establece a 0 y la palabra etiqueta x87 FPU se establece a todos los 0s [válidos]). Si esta instrucción se ejecuta mientras que una excepción x87 FPU coma flotante está pendiente, la excepción se maneja antes de la instrucción CVTTPS2PI se ejecuta.

En modo de 64 bits, el uso del prefijo REX.R permite esta instrucción para acceder a registros adicionales (XMM8-XMM15).

Operación

DEST[31:0] := Convert_Single_Precision_Floating_Point_To_Integer_Truncate(SRC[31:0]);
DEST[63:32] := Convert_Single_Precision_Floating_Point_To_Integer_Truncate(SRC[63:32]);

Intel C/C++ compilador intrínseco

CVTTPS2PI __m64 _mm_cvttps_pi32(__m128 a);

SIMD coma flotante Excepciones

Invalid, Precision.

Otras excepciones

Véase la sección 25.25.3, "Excepción de condiciones de Legacy SIMD Instrucciones de funcionamiento en los registros MMX" en el manual de desarrollo de software de arquitecturas Intel(R) 64 e IA-32, Volumen 3B.

Fuentes