VCVTUSI2SD
Convertir Unsigned Integer en valores en coma flotante de precisión doble escalares
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
EVEX.LLIG.F2.0F.W0 7B /r | VCVTUSI2SD xmm1, xmm2, r/m32 | A | Valido | Valido | Convertir un entero de doble palabra sin firmar de OR AVX10.1 r/m32 a un valor en coma flotante de precisión doble en xmm1. |
EVEX.LLIG.F2.0F.W1 7B /r | VCVTUSI2SD xmm1, xmm2, r/m64{er} | A | Valido | n.e.1 | Convertir un integer de quadword no firmado de OR AVX10.1 r/m64 a un valor en coma flotante de precisión doble en xmm1. |
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.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
Coste medido
Cargando las mediciones de arch-data...
Descripción
Convierte un entero sin firma de doble palabra (o unsigned quadword integer si tamaño de operando es 64 bits) en el segundo operando de origen a un valor en coma flotante de precisión doble en el operando de destino. El resultado se almacena en el bajo cuádpago del operando de destino. Cuando la conversión es inexacta, el valor devuelto se redondea según los bits de control de redondeo en el registro MXCSR.
El segundo operando de origen puede ser un registro de proposito general o una ubicación de memoria de 32/64 bits. La primera fuente y operandos de destino son registros XMM. Los bits (127:64) del destino de registro XMM se copian de los bits correspondientes en el primer operando de origen. Bits (MAXVL-1:128) del registro de destino se ponen a cero.
Versión EVEX.W1: promueve la instrucción para utilizar el valor de entrada de 64 bits en modo de 64 bits.
Versión EVEX.W0: se ignora el intento de codificar esta instrucción con redondeo integrado EVEX.
Operación
VCVTUSI2SD (EVEX Encoded Version)
IF (SRC2 *is register*) AND (EVEX.b = 1)
THEN
SET_ROUNDING_MODE_FOR_THIS_INSTRUCTION(EVEX.RC);
ELSE
SET_ROUNDING_MODE_FOR_THIS_INSTRUCTION(MXCSR.RC);
FI;
IF 64-Bit Mode And OperandSize = 64
THEN
DEST[63:0] := Convert_UInteger_To_Double_Precision_Floating_Point(SRC2[63:0]);
ELSE
DEST[63:0] := Convert_UInteger_To_Double_Precision_Floating_Point(SRC2[31:0]);
FI;
DEST[127:64] := SRC1[127:64]
DEST[MAXVL-1:128] := 0Intel C/C++ compilador intrínseco
VCVTUSI2SD __m128d _mm_cvtu32_sd( __m128d s, unsigned a);
VCVTUSI2SD __m128d _mm_cvtu64_sd( __m128d s, unsigned __int64 a);
VCVTUSI2SD __m128d _mm_cvt_roundu64_sd( __m128d s, unsigned __int64 a, int r);SIMD coma flotante Excepciones
Precision.
Otras excepciones
Ver Tabla 2-50, "Tipo E3NF Clase Condiciones de Excepción" si W1; de lo contrario, ver Tabla 2-61, "Tipo E10NF Clase Condiciones de Excepción".