CVTTPD2PI
Convertir Con Truncation valores en coma flotante de precisión doble empaquetados en Packed
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
66 0F 2C /r | CVTTPD2PI mm, xmm/m128 | RM | Valido | Valido | Convertir dos valores de doble precisión flotante-punto de xmm/m128 a dos enteros de doble palabra empaquetados firmados 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
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
Coste medido
Cargando las mediciones de arch-data...
Descripción
Convierte dos valores en coma flotante de precisión doble 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 128 bits. El operando de destino es un registro de tecnología MMX.
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 CVTTPD2PI 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_Double_Precision_Floating_Point_To_Integer32_Truncate(SRC[63:0]);
DEST[63:32] := Convert_Double_Precision_Floating_Point_To_Integer32_Truncate(SRC[127:64]);Intel C/C++ compilador intrínseco
CVTTPD1PI __m64 _mm_cvttpd_pi32(__m128d a);SIMD coma flotante Excepciones
Invalid, Precision.
Otras Excepciones de Modo Véase Sección 25.25.3, "Excepciones Condiciones de Legacy SIMD Instrucciones de funcionamiento en los Registros MMX" en el Manual del Programa de Arquitecturas Intel(R) 64 e IA-32, Volumen 3B.