VCVTTSH2SI

Convertir con Truncation Low FP16 Valor en un entero firmado

estableVMJITAOTinstruccion

Codificaciones

OpcodeInstruccionOp/En64 bitsCompat/LegacyDescripcion
EVEX.LLIG.F3.MAP5.W0 2C /rVCVTTSH2SI r32, xmm1/m16 {sae}AValidov1Convertir valor FP16 en el elemento bajo de OR AVX10.1 xmm1/m16 a un entero de doble palabra firmado y almacenar el resultado en r32 utilizando truncation.
EVEX.LLIG.F3.MAP5.W1 2C /rVCVTTSH2SI r64, xmm1/m16 {sae}AValidoNo codificableConvertir valor FP16 en el elemento bajo de OR AVX10.1 xmm1/m16 a un entero de cuádpago firmado y almacenar el resultado en r64 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.

A

  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

Tupla: Scalar

Coste medido

Cargando las mediciones de arch-data...

Descripción

Esta instrucción convierte el elemento FP16 bajo en el operando de origen a un entero firmado en el destino registro de proposito general.

Cuando una conversión es inexacta, se devuelve un valor truncado (redondo hacia cero).

Si un resultado convertido supera los límites de rango de integer de doble palabra firmado (en modos no-64-bit o modo 64-bit con REX.W/VEX.W/EVEX.W=0), la coma flotante excepción de operación no válida se genera, y si esta excepción está enmascarada, el valor entero indefinido 80000000H es devuelto.

Si un resultado convertido supera los límites de rango de integer de cuadword firmado (en modo de 64 bits y REX.W/VEX.W/EVEX.W = 1), la coma flotante excepción de operación no válida se genera, y si esta excepción está enmascarada, se devuelve el valor entero integer indefinido 80000 00000H.

Operación

VCVTTSH2SI dest, src
IF 64-mode and OperandSize == 64:

    DEST.qword := Convert_fp16_to_integer64_truncate(SRC.fp16[0])
ELSE:

    DEST.dword := Convert_fp16_to_integer32_truncate(SRC.fp16[0])

Intel C/C++ compilador intrínseco

VCVTTSH2SI int _mm_cvtt_roundsh_i32 (__m128h a, int sae);
VCVTTSH2SI __int64 _mm_cvtt_roundsh_i64 (__m128h a, int sae);
VCVTTSH2SI int _mm_cvttsh_i32 (__m128h a);
VCVTTSH2SI __int64 _mm_cvttsh_i64 (__m128h a);

SIMD coma flotante Excepciones

Invalid, Precision.

Otras excepciones

Instrucciones codificadas por EVEX, ver Tabla 2-50, "Tipo E3NF Clase Condiciones de Excepción."

Fuentes